간만에 시간이 되어 Python 서버 프로그램을 짜 봤습니다.
PC : Client
R-PI : Server
로하야 루프백(echo) 서버를 구현해 봤습니다.
즉 클라이언트가 보낸 파일을 서버가 받아 다시 Client에 보내는겁니다.
import socket
import time
#통신정보 설정
HOST = "192.168.200.19" # Standard loopback interface address (localhost)
PORT = 8000 # Port to listen on (non-privileged ports are > 1023)
# 서버 소켓 생성
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
s.bind((HOST, PORT)) # 주소 바인딩
s.listen() # 클라이언트 요청을 받을 준비
conn, addr = s.accept()
with conn:
print(f"Connected by {addr}")
while True:
data = conn.recv(1024) # 클라이언트가 보낸 메세지 반환
if not data:
break
conn.sendall(data) #클라이언트에 응답
conn.sendall(b"\n song")
# conn.close() # 클라이언트 소켓 종료