如何获取直接连接到我的电脑的计算机的IP地址

时间:2014-04-09 05:51:28

标签: c++ networking ip-address

我正在尝试编写一个功能,可以让我的IP地址(以及设备的名称作为奖励)在我的网络中的设备,网络将是使用以太网电缆的两台计算机之间的直接连接或创建接入点(使用Wi-Fi)

我试图搜索如何做,但似乎我需要听网络或看似困难的事情。

希望你能指导我做我应该做的事情或阅读以开始。

注意:我在两台计算机上都使用Windows。

编辑: P.S:我需要IP地址,所以我可以在我写的Client / Server程序中使用winsock向另一台计算机发送消息。 我不能让服务器将其IP发送给客户端或相反吗?

1 个答案:

答案 0 :(得分:1)

如果您的软件在两台计算机上运行,​​您可以让一台(或两台)计算机在特定端口上发送特定广播(或者,如果您愿意,也可以组播)UDP数据包。您的程序也应该在同一个端口上侦听。当它收到该数据包时(使用recvfrom()),recvfrom()的第五个参数将包含发送数据包的机器的IP地址,即你想要的IP地址。

(如果OTOH你的软件没有在远程机器上运行,你需要使用一些更通用的发现机制,如mDNS或LLDP - 希望你不必这样做,不过,因为它是更复杂的事情)