客户端:
from socket import *
from threading import Thread
# 不停的接收
def recv_data():
while True:
redata = udp_socket.recvfrom(1024)
recontent = redata[0].decode("gbk")
print(f"收到远程信息:{recontent},from {redata[1]}")
if redata == "88":
print("聊天结束!")
break
def send_data():
addr = ("127.0.0.1",8986)
while True:
data = input("请输入:")
udp_socket.sendto(data.encode("gbk"),addr)
if data == "88":
print("聊天结束!")
break
if __name__ == '__main__':
udp_socket = socket(AF_INET,SOCK_DGRAM)
# 绑定接受信息的端口
udp_socket.bind(("127.0.0.1",9896))
# 创建两个线程
t1 = Thread(target=recv_data)
t2 = Thread(target=send_data)
# 启动线程
t1.start()
t2.start()
# 结束子线程,再结束主线程
t1.join()
t2.join()
服务端:
from socket import *
from threading import Thread
# 不停的接收
def recv_data():
while True:
redata = udp_socket.recvfrom(1024)
recontent = redata[0].decode("gbk")
print(f"收到远程信息:{recontent},from {redata[1]}")
if redata == "88":
print("聊天结束!")
break
def send_data():
addr = ("127.0.0.1",9896)
while True:
data = input("请输入:")
udp_socket.sendto(data.encode("gbk"),addr)
if data == "88":
print("聊天结束!")
break
if __name__ == '__main__':
udp_socket = socket(AF_INET,SOCK_DGRAM)
# 绑定接受信息的端口
udp_socket.bind(("127.0.0.1",8986))
# 创建两个线程
t1 = Thread(target=recv_data)
t2 = Thread(target=send_data)
# 启动线程
t1.start()
t2.start()
# 结束子线程,再结束主线程
t1.join()
t2.join()
问题:客户端发送“88”信号,本身能收到“聊天结束”,但是服务端却没有收到“聊天结束标志”!麻烦老师看下,是不是代码哪儿写错了!

并且客户端再次输入“88”,循环仍为结束!
