服务器端:
这里有问题,客户端发送的1024字节中带有quit的话,这里识别不了.
有解决办法的大神留言解决一下,非常感谢.
import socket
# 实例化
sk = socket.socket()
ip_port = ('127.0.0.1', 9999)
#绑定端口
sk.bind(ip_port)
#监听数量
sk.listen(5)
while True:
conn, address = sk.accept()
with open("file_bak", "ab") as f:
data = conn.recv(1024)
print(data.decode())
if data == b"quit": #接收过来的是一串,不单单是quit.怎么识别当中的quit呢
break
f.write(data)
print('正在关闭服务...')
sk.close()
客户端:
import socket
# 实例化
import time
sk = socket.socket()
# ip和端口
ip_port = ('127.0.0.1',9999)
#连接
sk.connect(ip_port)
# 文件上传
# 打开文件
with open('file_1', 'rb') as f:
# 数据分割
for i in f:
# 上传
sk.send(i)
sk.send('quit'.encode()) #文章提的问题就在这,紧挨着上面的send发送了quit指令,拼成了一串,服务器端的关闭就无效了.
print('已发送关闭指令')
本文探讨了Python Socket编程中,客户端发送包含'quit'指令的数据包时,服务器端无法正确识别并退出的问题。详细分析了问题所在,并提出了有效的解决方案。
2545

被折叠的 条评论
为什么被折叠?



