0
这大部分已经被回答了here 我一直试图在收到整个文件时修改服务器(发送)和客户端(接收)来自服务器的反馈。发送和接收python套接字中的文件
下面是客户端服务器代码;因为它目前都是客户端和服务器挂起的。即。无情地进入“忙碌”状态(客户端和服务器都不做任何事情,直到服务器上的ctrl-c报告失败为止“l = sc.recv(1024)”,并且客户端上的ctrl-c报告失败“reply = s。的recv(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()
的代码工作正常,而不在上面的链接)中(添加反馈线,没有任何人有关于如何保持这与反馈工作,以及一个想法? 谢谢。
我想我可能会再次寻求类似这样你的帮助的东西,所以它正常工作与像来自服务器的响应串/文本,但“回复= s.recv(1024)”的客户端代码似乎无限期挂起当你在服务器端引入一个函数调用时,特别是如果函数花费60多秒来运行......任何想法?服务器完成运行函数调用并返回结果,而这个结果永远不会到达客户端进程。在此先感谢 – Ezra
这听起来像是一个全新的问题。遵循[ask]和[mcve]中的指导原则,请在Stack Overflow上发布一个新问题。 –