天天看點

Python UDP用戶端和服務端通信

UDP用戶端:

import  socket  #網絡通信 TCP,UDP
udp=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)  #SOCK_DGRAM表示UDP,SOCKET_STREAM表示TCP
while True:
    data=input("輸入消息")
    udp.sendto(data.encode("utf-8"),("127.0.0.1",8848)) #發消息
    print(udp.recv(1024).decode("utf-8")) #收消息,recvfrom可以得到發送方的消息和位址,recv隻能得到消息
udp.close()
           

UDP服務端:

import  socket  #網絡通信 TCP,UDP
import time
udpsever=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
udpsever.bind(("127.0.0.1",8848)) #綁定這個端口,接收這個端口的消息,參數是元組,括号不能少
while True:
    data,addr=udpsever.recvfrom(1024) #1024 緩沖區。recvfrom可以得到發送方的消息和位址,recv隻能得到消息
    print("來自",addr,"消息",data)
    senddata=(data.decode("utf-8")+str(time.time())).encode("utf-8")
    udpsever.sendto(senddata,addr) #發送資料到指定的位址