양방향 통신 채널에서 소켓은 두 개의 끝점입니다. 소켓은 동일한 시스템 또는 다른 대륙의 프로세스 간에 통신할 수 있습니다.
소켓은 다양한 유형의 채널 TCP, UDP에 의해 구현됩니다.
Socket을 생성하기 위해서는 socket 모듈과 socket.socket() 함수가 필요합니다.
구문
my_socket = socket.socket (socket_family, socket_type, protocol=0)
서버 소켓의 다양한 방법
my_socket.bind()
이 방법은 주소(호스트 이름, 포트 번호 쌍)를 소켓에 바인딩하는 데 사용됩니다.
my_socket.listen()
이 방법은 TCP 수신기를 설정하고 시작하는 데 사용됩니다.
my_socket.accept()
이 방법은 TCP 클라이언트 연결을 수락하고 연결이 도착할 때까지 대기(차단)하는 데 사용됩니다.
클라이언트 소켓의 다양한 방법
my_socket.connect()
이 방법은 TCP 서버 연결을 능동적으로 시작합니다.
일반 소켓 방법
my_socket.recv()
이 메소드는 TCP 메시지를 수신합니다.
my_socket.send()
이 메소드는 TCP 메시지를 전송합니다.
my_socket.recvfrom()
이 메소드는 UDP 메시지를 수신합니다.
my_socket.sendto()
이 방법은 UDP 메시지를 전송합니다.
my_socket.close()
이 메서드는 소켓을 닫습니다.
my_socket.gethostname()
이 메서드는 호스트 이름을 반환합니다.
서버 소켓
예
import socket my_socket = socket.socket() # Create a socket object my_host = socket.gethostname() my_port = 00000# Store a port for your service. my_socket.bind((my_host, my_port)) my_socket.listen(5) # Now wait for client connection. while True: cl, myaddr = my_socket.accept() # Establish connection with client. print ('Got connection from', myaddr) cl.send('Thank you for connecting') cl.close() # Close the connection
클라이언트 소켓
예
import socket # Import socket module my_socket = socket.socket() # Create a socket object my_host = socket.gethostname() # Get local machine name my_port = 00000# Store a port for your service. my_socket.connect((my_host, my_port)) print (my_socket.recv(1024)) my_socket.close