我正在尝试编写一个程序,该程序使用套接字通过网络与其自身的其他实例连接。由于最终我也想编写一个 Windows 版本,因此我目前在 OS X 端使用 BSD 套接字,以便我可以确保它将与(最终的)Windows 版本兼容。
到目前为止,我能够让它工作的唯一方法是在创建服务器套接字时指定我的实际 IP 地址。如果我使用 127.0.0.1,那么我只能从本地计算机进行连接。
虽然这在理论上很好,但问题是我如何知道要使用哪个 IP 地址?我不确定如何通过 Cocoa 获取当前计算机的 IP 地址,即使可以,如果有多个有效的 IP 地址(例如机场和以太网连接)怎么办?我怎么知道该使用哪一个?我可以询问用户,但这似乎不是他们可以/应该知道的事情。
如有必要,我可以提供客户端和服务器连接代码,但是鉴于我能够从远程计算机建立连接,我认为问题不在我的代码中。
感谢您的时间。 :)
使用 0.0.0.0 作为要侦听的 IP 地址。它将监听所有地址。
可能在您使用的套接字 API 中为此地址定义了一个常量。如果您使用标准 C 套接字 API,则为 INADDR_ANY。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)