在两台直连计算机之间的UDP连接中分配地址地址

时间:2017-09-09 18:02:16

标签: c sockets udp

我想在两台不同的机器上的客户端和服务器之间交换消息。这两台机器通过以太网电缆直接连接。如果它们都在同一台机器上,我可以在客户端和服务器之间成功发送和接收消息。服务器地址应该是什么才能在两台机器之间进行通信?

serveraddr.sin_addr.s_addr = htonl( ???? );  

我已尝试在服务器计算机上运行ifconfig,但只是找到了MAC地址,并且没有在代码中分配IP。

两台机器都在运行DHCP。

2 个答案:

答案 0 :(得分:3)

看看the UDP wiki,正如您所看到的,它需要一个网络层。这通常是IP。您可以为两个设备设置静态IP地址并使用这些静态IP地址,也可以在其中一台计算机上设置DHCP服务器以自动分配IP地址。

答案 1 :(得分:1)

使用电缆直接连接机器可创建独特的独立网络(仅具有两个节点)。

请注意,电缆必须是交叉电缆。

如果两个节点都不是DHCP服务器,则DHCP可能无济于事。

如Marrten Arias的回答所示,为客户端和服务器分配静态IP地址;也许是这样的:

Server IP: 192.168.01.01
Client IP: 192.168.01.02
Mask (for both): 255.255.255.0