在双向通信通道中,套接字是两个端点。套接字可以在同一台机器或不同洲的进程之间进行通信。
套接字由不同类型的通道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