我正在尝试编写一个函数来获取我网络中设备的 IP 地址(以及设备名称作为奖励),该网络将是两台计算机之间使用以太网电缆的直接连接或创建接入点(使用 wi-fi)
我试图搜索如何去做,但似乎我需要收听网络或似乎很难的东西。
希望您能指导我应该做什么或阅读以开始。
注意:我在两台计算机上都使用 Windows。
编辑: P.S:我需要 IP 地址,这样我就可以在我编写的客户端/服务器程序中使用 winsock 向另一台计算机发送消息。 我不能让服务器将其 IP 发送给客户端或相反的客户端吗?
最佳答案
如果您的软件在两台机器上运行,您可以让一台(或两台)机器在特定端口上发送特定广播(或者,如果您愿意,多播)UDP 数据包。您的程序也应该在同一个端口上监听。当它接收到该数据包时(使用 recvfrom()),recvfrom() 的第五个参数将包含发送数据包的机器的 IP 地址,即您想要的 IP 地址。
(如果您的软件没有在远程计算机上运行,您将需要使用一些更通用的发现机制,例如 mDNS 或 LLDP——希望您不必这样做,因为它是复杂得多)
关于c++ - 如何获取直接连接到我的PC的计算机的IP地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22953907/