问题遇到的现象和发生背景
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