【发布时间】:2015-10-27 23:14:38
【问题描述】:
这个问题大部分都得到了回答here 在收到整个文件后,我一直在尝试修改服务器(发送)和客户端(接收)来自服务器的反馈。
下面是客户端服务器代码;因为目前客户端和服务器都挂起。 IE。无限期进入“忙碌”状态(客户端和服务器都不做任何事情,直到服务器上的 ctrl-c 在此处报告失败“l = sc.recv(1024)”并且客户端上的 ctrl-c 在此处报告失败“reply =s.接收 (1024)")
import socket
import sys
s = socket.socket()
s.bind(("localhost",3000))
s.listen(10)
i=1
while True:
sc, address = s.accept()
print address
f = open('tranmit.jpg",'wb') #open in binary
l = 1
while(l):
l = sc.recv(1024)
while (l):
f.write(l)
l = sc.recv(1024)
f.close()
sc.send("received") # Would like to send back a response
sc.close()
s.close()
------------------------------------------------------------
#client
s = socket.socket()
s.connect(("localhost",3000))
f=open ("tranmit.jpg", "rb")
l = f.read(1024)
while (l):
s.send(l)
l = f.read(1024)
reply =s.recv(1024) # Feedback: would like the receive feedback from the server.
print reply
s.close()
在没有添加反馈行的情况下,代码可以正常工作(如上面的链接中所示),有没有人知道如何保持这个与反馈一起工作? 谢谢。
【问题讨论】: