gpt4 book ai didi

c - 套接字如何处理本地地址变化?

转载 作者:太空宇宙 更新时间:2023-11-04 02:24:59 26 4
gpt4 key购买 nike

在 C 中,我可以将客户端套接字绑定(bind)到特定的本地地址和系统选择的端口。如果发生以下任何一种情况会怎样?

  1. 机器的本地地址被改变了
  2. 程序被移动到具有不同本地地址的主机

如果我在调用 connect() 后尝试绑定(bind)会发生什么情况?

最佳答案

嗯,一般来说,一个TCP socket连接真的是通过源IP,源端口,目的ip,目的端口元组来标识的。如果说源 IP 不再有效,那么两端都无法从中恢复,目标主机可能直到超时后才会注意到。

另一方面,如果您当时尝试绑定(bind)到一个非本地地址,则绑定(bind)系统调用应该返回一个错误 (EADDRNOTAVAIL)。

最后,重新绑定(bind)连接的 TCP 套接字应该会导致错误,因为它没有任何意义。

关于c - 套接字如何处理本地地址变化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52799343/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com