python 소켓통신
1. socket-server.py
#-*- coding:utf-8 -*-
import socket
# 통신 정보 설정
IP = ''
PORT = 5050
SIZE = 1024
ADDR = (IP, PORT)
# 서버 소켓 설정
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as server_socket:
server_socket.bind(ADDR) # 주소 바인딩
server_socket.listen() # 클라이언트의 요청을 받을 준비
# 무한루프 진입
while True:
client_socket, client_addr = server_socket.accept() # 수신대기, 접속한 클라이언트 정보 (소켓, 주소) 반환
msg = client_socket.recv(SIZE) # 클라이언트가 보낸 메시지 반환
print("[{}] message : {}".format(client_addr,msg)) # 클라이언트가 보낸 메시지 출력
client_socket.sendall("welcome!".encode()) # 클라이언트에게 응답
client_socket.close() # 클라이언트 소켓 종료
2. socket-client.py
#-*- coding:utf-8 -*-
import socket
# 접속 정보 설정
SERVER_IP = '127.0.0.1'
SERVER_PORT = 5050
SIZE = 1024
SERVER_ADDR = (SERVER_IP, SERVER_PORT)
# 클라이언트 소켓 설정
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as client_socket:
client_socket.connect(SERVER_ADDR) # 서버에 접속
client_socket.send('hi'.encode()) # 서버에 메시지 전송
msg = client_socket.recv(SIZE) # 서버로부터 응답받은 메시지 반환
print("resp from server : {}".format(msg)) # 서버로부터 응답받은 메시지 출력
3. 결과
- server (무한루프로 대기)
- client
'개발일지 > Python' 카테고리의 다른 글
[Python] 문자열에서 특정 문자 찾기 (0) | 2020.08.04 |
---|---|
python 버전 upgrade (0) | 2020.05.27 |
[Python] 리스트 초기화 (0) | 2020.05.25 |
[Python] 파이썬 백그라운드 실행 (0) | 2020.04.29 |
[Python] MQTT 사용 (0) | 2020.04.07 |