This article brings you an introduction to UDP communication through sockets in Python (with code). It has certain reference value. Friends in need can refer to it. I hope it will be helpful to you.
TCP establishes a reliable connection, and both communicating parties can send data in the form of streams. Compared with TCP, UDP is a connectionless protocol. When using the UDP protocol, there is no need to establish a connection. You only need to know the IP address and port number of the other party to send data packets directly. But I don't know if it can be reached.
Let’s take a look at how to transmit data through the UDP protocol. Similar to TCP, the communication parties using UDP are also divided into
client and server
Socket structure diagram to implement UDP communication
is similar to TCP. The communication parties using UDP are also divided into clients and servers. The server first needs to bind the port. But there is no need to monitor the client's connection
#server import socket #创建Socket时, SOCK_DGRAM 指定了这个Socket的类型是UDP。 server = socket.socket(type=socket.SOCK_DGRAM) server.bind(('192.168.1.165',7890)) #不需要调用 listen() 方法, 而是直接接收来自任何客户端的数据 print('服务端已开启7890端口,正在等待被连接...') #recvfrom() 方法返回数据和客户端的地址与端口, 这样, 服务器收到数据后, #直接调用 sendto() 就可以把数据用UDP发给客户端 data,address = server.recvfrom(1024) print("client>>",data.decode('utf-8')) print("客户端连接的socket地址:", address) server.sendto(b'drink more water!',address) server.close()
When the client uses UDP, first still create a UDP-based Socket, and then, there is no need to call connect(), directly through sendto( ) Send data to the server
import socket #创建Socket时, SOCK_DGRAM 指定了这个Socket的类型是UDP。 client = socket.socket(type=socket.SOCK_DGRAM) send_data =b'hello sheenstar' client.sendto(send_data,('192.168.1.165',7890)) re_Data,address = client.recvfrom(1024) print('server>>',re_Data.decode('utf-8')) client.close()
Use two command lines to start the server and client tests respectively
Open the server
Complete a UDP communication
The above is the detailed content of Introduction to socket UDP communication in python (with code). For more information, please follow other related articles on the PHP Chinese website!