Python UDP网络编程
UDP绑定对方IP和Port(通过bind()方法)后直接开始传输数据。
Server端编程
import socket
udpServer = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
ip_port = ('192.168.1.7',8081)
udpServer.bind(ip_port)
print('server is up')
#recvfrom可以同时拿到ip和返回的数据
while True:
data, addr = udpServer.recvfrom(1024)
print('addr',addr,' data:',data)
print("接收到client端:",addr,' 数据:', data.decode("utf-8"))
rsp = input('服务端请输入回复:')
udpServer.sendto(rsp.encode("utf-8"),addr)
udpServer.close()
Client端编程
import socket
ip_port = ("192.168.1.7",8081)
udpClient = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
#udp这里不需要connect()
#sendto表示直接将数据发送到对应的ip&port
while True:
data = input("client请输入信息:")
udpClient.sendto(data.encode("utf-8"),ip_port)
data, serverAddr = udpClient.recvfrom(1024)
print("server",serverAddr,'的回复:',data.decode('utf-8'))
udpClient.close()