Python UDP网络编程

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()

相关文章: