我一直在处理图片传输服务器,但我遇到了保存多张图片的问题。如果客户端上的套接字关闭,只允许该客户端发送一个图像,则服务器只能保存多个图像(来自多个客户端)。我还尝试发送文件大小并在满足文件大小时停止保存,但无论出于何种原因,图像都无法打开。
客户代码
f = open(filename, "rb")
while True:
data = f.read(512)
if not data:
break
s.send(data)
f.close()
服务器代码
for client in clients:
while True:
data = client[0].recv(512)
if data == "":
break
f.write(data)
答案 0 :(得分:-1)
尝试在完成图像传输后从客户端发送空字符串。我认为问题在于服务器无法区分传输的图像数量。
<强>客户端:强>
for file in files:
with open(filename, "rb") as f:
data = f.read()
while data:
s.send(data[:512])
data = data[512:]
s.send('')
服务器强>
from functools import partial
while True:
with open(filename, "rb") as f:
data = b"".join(iter(partial(client[0].recv, 512), b''))
f.write(data)