2015-10-02 42 views
0
import socket 
sock = socket.socket() 
sock.bind(('127.0.0.1', 1600)) 
sock.listen(1) 
(client_sock,client_address) = sock.accept() 
client_name = client_sock.recv(1024) 
client_sock.send('hi its '+client_name) 
client_sock.close() 
sock.close(); 

所以我在cmd命令運行提示包含上述代碼的文件,我得到的是這樣的: enter image description here爲什麼我的代碼不能以其他方式響應?

如可以看到我的cmd是彷彿在等待着一些事情發生,它不打印出「Hi it ...」,永不停止等待。 爲什麼我的代碼不工作?

+0

你發送任何東西給它嗎? – molbdnilo

+1

它在'recv()'處阻塞,所以「Hi its」永遠不會被髮送。 –

回答

0

很簡單:您首先發送數據然後接收。 receive命令等待直到超時(如果已設置),然後再繼續。請記住,您還必須打印收到的數據。 做你想做什麼的最佳實踐是具有至少兩個不同線程的服務器 - 客戶端方法。

相關問題