[python] TCP 소켓 프로그래밍

TCP (Transmission Control Protocol)은 안정적인 연결을 제공하는 프로토콜입니다. Python의 소켓 라이브러리를 사용하여 TCP 소켓 프로그래밍을 쉽게 할 수 있습니다.

Socket 라이브러리

Python의 기본 라이브러리인 socket을 사용하여 TCP 소켓 프로그래밍을 할 수 있습니다. socket 라이브러리는 소켓을 생성하고 통신할 수 있는 기능을 제공합니다.

import socket

# 서버 소켓 생성
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server_socket.bind(('127.0.0.1', 8080))
server_socket.listen(1)

# 클라이언트 소켓 생성
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
client_socket.connect(('127.0.0.1', 8080))

위의 코드에서 socket.socket()으로 소켓을 생성하고, bind()를 사용하여 주소와 포트를 바인딩하고, listen()으로 클라이언트의 연결을 기다릴 수 있습니다. 클라이언트는 socket.socket()으로 소켓을 생성하고 connect()를 통해 서버에 연결할 수 있습니다.

데이터 송수신

데이터를 송수신하기 위해서는 sendall()recv() 메서드를 사용할 수 있습니다.

# 데이터 송신
client_socket.sendall(b'Hello, TCP')

# 데이터 수신
data = server_socket.recv(1024)
print('Received', repr(data))

위 코드에서 sendall()을 사용하여 데이터를 송신하고, recv()를 사용하여 데이터를 수신합니다.

Python의 소켓 라이브러리를 사용하여 TCP 소켓 프로그래밍을 쉽게 할 수 있습니다. 안정적인 연결을 필요로 하는 네트워크 응용프로그램을 개발할 때 유용하게 활용할 수 있습니다.

더 많은 정보는 Python 공식 문서를 참고하세요. Python 공식 소켓 라이브러리 문서