udp的sever不需要监听也不需要建立连接
启动后只能被动等待客户端发消息过来
客户端发送消息的同时还自带地址信息
回复消息的时候不仅需要发送消息,还要把对方的地址填上
SEVER:
import socket
sk = socket.socket(type=socket.SOCK_DGRAM) #datagram
sk.bind((‘127.0.0.1‘,8080))
while 1:
msg,addr = sk.recvfrom(1024)
print(addr)
print(msg.decode(‘utf-8‘))
info = input(‘>>>‘).encode(‘utf-8‘)
sk.sendto(info,addr)
sk.close()
CLIENT1:
import socket
sk = socket.socket(type=socket.SOCK_DGRAM)
ip_port = (‘127.0.0.1‘,8080) #ip和端口号的元组
while 1:
info = input(‘二哥:‘)
info = (‘\33[32m来自二哥的消息:%s\33[0m‘%info).encode(‘utf-8‘)
sk.sendto(info,ip_port)
ret,addr = sk.recvfrom(1024)
print(ret.decode(‘utf-8‘))
sk.close()
CLIENT2:
import socket
sk = socket.socket(type=socket.SOCK_DGRAM)
ip_port = (‘127.0.0.1‘,8080) #ip和端口号的元组
while 1:
info = input(‘泰哥:‘)
info = (‘\33[34m来自泰哥的消息:%s\33[0m‘ % info).encode(‘utf-8‘)
sk.sendto(info,ip_port)
ret,addr = sk.recvfrom(1024)
print(ret.decode(‘utf-8‘))
sk.close()
原文:https://www.cnblogs.com/farion/p/9940905.html