python udp 连接
server端
import socket
s = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
s.bind(('127.0.0.1',6636))
data = True
while data:
data,address = s.recvfrom(1024)
if data == 'zaijian' :
break
print('接受信息',data.decode('utf-8'))
cmd = data.decode('utf-8')
print(cmd)
s.sendto(data,address)
s.close()
Client
import socket
c = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
data = "你好"
while data:
c.sendto(data.encode("utf-8"),('127.0.0.1',6636))
if data == '再见':
break
data,addr = c.recvfrom(512)
print(data.decode('utf-8'))
data = input("输入信息:\n")
c.close()
运行正确
好奇的是一个点
为什么这需要再次发送data addree (一开始以为是双向的,后来发现就是单向的)那么既然单向,只需要接受就行了吧,为什么还要发送呢?
我想理解为什么要再次发送data addree
客户端发送后接收回复,服务端接收后应答。看不懂你的疑问
服务端接收后应答 是我标注的那句话的意义吧,他在while循环中,所以是每次都要返回应答的吗
这篇文章:python通过udp传输图片 也许能够解决你的问题,你可以看下