Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

파이썬의 소켓 프로그래밍

<시간/>

양방향 통신 채널에서 소켓은 두 개의 끝점입니다. 소켓은 동일한 시스템 또는 다른 대륙의 프로세스 간에 통신할 수 있습니다.

소켓은 다양한 유형의 채널 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