2014-02-25 20 views

回答

2

爲什麼TCP socket.recvfrom()不像發送UDP一樣返回發送者地址?

因爲一旦建立TCP連接,地址不會改變。這是傳遞給connect或從accept呼叫收到的地址。你也可以用getpeername找出同伴的地址(如果你以某種方式丟失了)。

什麼時候TCP socket.recv()是一個空字符串?

當對端已關閉連接並且不會有更多數據進入時,您仍然可以發送數據,因爲TCP連接可能是半封閉的。

+0

謝謝!...我正在使用python – user3109117

+0

@ user3109117我知道您正在使用Python。儘管學習如何使用這個網站。 –

+0

你*可能*仍然能夠發送數據,*如果*對方已半封閉連接。 – EJP