用于TCP的recv()和recvfrom()方法

时间:2014-02-25 14:55:36

标签: python tcp udp recv recvfrom

TCP socket.recvfrom()为什么不像UDP一样返回发件人地址?

TCP socket.recv()什么时候是一个空字符串?

谢谢!

1 个答案:

答案 0 :(得分:2)

  

为什么TCP socket.recvfrom()不像UDP那样返回发件人地址?

因为一旦建立TCP连接,该地址就不会改变。这是传递给connect或从accept来电收到的地址。您还可以使用getpeername找到对等方的地址(如果您以某种方式丢失了它)。

  

TCP socket.recv()什么时候是一个空字符串?

当对等方关闭连接并且不再有数据进入时。您仍然可以发送数据,因为TCP连接可以半关闭。