[python] 파이썬에서 키 입력으로 소켓 통신하기
이번에는 파이썬으로 소켓 통신을 하면서 키 입력을 받는 방법에 대해 알아보겠습니다. 소켓 통신을 통해 데이터를 주고받을 때 사용자로부터 키 입력을 받는 기능은 매우 유용합니다.
소켓 통신이란?
소켓 통신은 네트워크 상에서 프로세스간에 데이터를 주고받기 위한 방법입니다. TCP/IP를 기반으로 하며, 클라이언트와 서버 사이의 연결을 이루어 데이터를 교환합니다.
파이썬에서 소켓 통신하기
먼저, 파이썬에서 소켓 통신을 하기 위해서는 socket
모듈을 import해야 합니다. 다음은 간단한 예시 코드입니다.
import socket
# 서버 소켓 생성
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 서버 주소와 포트 지정
server_address = ('localhost', 12345)
# 서버에 바인딩
server_socket.bind(server_address)
# 클라이언트의 연결 대기
server_socket.listen()
# 클라이언트의 연결 수락
client_socket, client_address = server_socket.accept()
# 클라이언트와의 통신
while True:
# 키 입력 받기
key = input("메시지를 입력하세요: ")
# 클라이언트로 메시지 보내기
client_socket.send(key.encode())
# 클라이언트로부터 메시지 받기
data = client_socket.recv(1024).decode()
# 받은 메시지 출력
print("서버로부터 받은 메시지:", data)
# 종료 조건
if key == 'bye':
break
# 소켓 연결 종료
client_socket.close()
server_socket.close()
키 입력 받기
위의 코드에서 input
함수를 통해 사용자로부터 키 입력을 받습니다. 사용자가 입력한 메시지를 클라이언트 소켓을 통해 서버로 전송하고, 서버도 클라이언트로부터 메시지를 받아옵니다. 이후 받은 메시지를 출력합니다.
실행하기
위의 코드를 실행하면 서버가 실행되고 클라이언트가 연결되어 키 입력을 받을 수 있습니다. 메시지를 입력하세요:
라는 프롬프트가 나타나면 원하는 메시지를 입력하고 엔터 키를 누르면 해당 메시지가 서버로 전송되고, 서버로부터 받은 메시지가 출력됩니다. bye
를 입력하면 통신이 종료됩니다.
마무리
이렇게 파이썬에서 소켓 통신을 하면서 키 입력을 받는 방법을 알아보았습니다. 소켓 통신은 다양한 상황에서 사용되며, 키 입력 기능을 추가하면 더욱 유연하고 활용도가 높아집니다.