以下代码仅发送第一个图像文件。如何发送多张图片?
服务器端代码:
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<a class="like badge">
<span class="liked_item_{{item.id}} liked_votes">
5
</span>
<span class="liked_item_{{item.id}} liked_votes">
1
</span>
<span class="liked_item_{{item.id}} liked_votes">
3
</span>
<span class="liked_item_{{item.id}} liked_votes">
100
</span>
</a>
客户端代码:
import socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind(("", 12345))
bind to ('', port)
s.listen(10)
c, addr = s.accept()
print('{} connected.'.format(addr))
m = c.recv(1024)
m1 = c.recv(1024)
f = open(r"C:\python voice\haha3.jpg", "wb")
f1 = open(r"C:\python voice\haha4.jpg", "wb")
data = None
data1 = None
while True:
data = m
data1 = m1
if m:
while m:
m = c.recv(1024)
data += m
else:
break
if m1:
while m1:
m1 = c.recv(1024)
data1 += m1
else:
break
f.write(data)
f.close()
f1.write(data1)
f1.close()
print("Done receiving")
答案 0 :(得分:0)
您使用普通的TCP协议。
这是一种传输协议。它处理通用的字节流。
您必须使用或发明一种知道什么文件的应用程序协议。
示例:在发送文件之前,发送一个标头,描述将跟随多少文件及其大小(以字节为单位)。有了这些信息,您就可以从流中重建文件