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上發佈一個新問題。 –