UDP客户端和服务器无法跨不同的计算机进行通信

时间:2013-03-19 11:55:03

标签: c linux sockets networking udp

我正在尝试运行此处给出的UDP客户端 - 服务器示例:http://www.abc.se/~m6695/udp.html。 通过将 #define SRV_IP“999.999.999.999”更改为 #define SRV_IP“127.0.0.1”在同一台计算机上运行时,程序运行正常。

但是,相同的程序,其中服务器放在一个系统上,客户端放在另一个系统上,并将#define SRV_IP“999.999.999.999”更改为 #define SRV_IP“10.60。 5.94“(这是我的服务器IP)不起作用。即使客户端将数据包发送到服务器的IP,服务器也无法接收它。

请建议在不同计算机上运行代码时需要执行的更改。提前谢谢。

1 个答案:

答案 0 :(得分:0)

你应该学会一次调试这个步骤。

  1. 首先在客户端计算机上使用嗅探器,以确保UDP数据包实际上已经输出。当您在此时,请检查数据包中的目标地址。
  2. 然后在服务器计算机上使用嗅探器来查看数据包实际进入。嗅探器将在数据包到达内核之前捕获它们。这将告诉您网络上的某些内容,甚至服务器上的防火墙是否正在吃数据包。
  3. 祝你好运。