반응형
반응형
파이썬에서 소켓통신을 사용하는 방법에 대해서 말씀드리겠습니다.
Import
import socket
connection(서버 측)
HOST = '192.168.0.123'
PORT = 12345
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server_socket.bind((HOST, PORT))
server_socket.listen()
- port는 65535 이하로 해야됨
connection(클라이언트 측)
HOST = '192.168.0.123'
PORT = 12345
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
client_socket.connect((HOST, PORT))
write data
client_socket.sendall(data)
- 본 예제에서는 json 형태로 데이터 보냄
read data
data = conn.recv(1024)
- recv(1024)의 1024는 버퍼 사이즈로 받는 데이터의 크기를 정함. 대충 정한다음 받아서 print 찍고 덜받아지면 늘리고 하면 됨
- 받은 데이터는 byte형태로 받아지므로 변형을 해줘야 함
- 본 예제에서는 json으로 보내기 때문에 string으로 변환한 후 dict로 변환
data = conn.recv(1024)
data_to_str = data.decode('utf-8')
data_to_dict = json.loads(data_to_str)
- data_to_str : byte to string (encoding : utf-8) (바이트타입 데이터를 utf-8형태 문자열로 변환)
- data_to_dict : string to dictionary (문자열을 딕셔너리 형태로 변환)
반응형
'programming > python' 카테고리의 다른 글
(python) 주기적으로 반복 실행 프로그램 (0) | 2023.02.24 |
---|---|
(datetime) 파이썬 날짜 변환 (날짜 -> 나노세컨드 -> 날짜) (0) | 2023.01.26 |
(matplotlib) 파이썬 실시간 그래프 출력 (0) | 2023.01.25 |
(matplotlib) 실시간 그래프 출력 오류(with 파이참) (0) | 2023.01.20 |
(ssh) ssh작업 관련(설정 및 오류 등) (0) | 2022.11.28 |