我正在使用 C 套接字编写客户端/服务器程序。我指定服务器可以通过使用 sockaddr_in.sin_addr.s_addr 中的 INADDR_ANY 侦听任何网络接口。这相当于 IP 0.0.0.0。我可以获取服务器正在监听的实际IP吗? (例如 192.168.1.100)
当您将侦听套接字绑定到INADDR_ANY
,套接字侦听所有可用的本地 IP。无法从套接字确定它正在侦听哪个 IP。如果您需要该信息,那么您必须单独枚举本地 IP(在这种情况下您可以bind()
如果您需要检索预接受绑定详细信息,请将每个 IP 单独连接到自己的套接字)。然而,有一次accept()
已返回已建立的客户端连接,您可以使用getsockname()
在接受的套接字上了解哪个特定的 IP 接受了连接。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)