2013-03-19 57 views
-3

我試圖運行這裏給出的UDP客戶端服務器示例:http://www.abc.se/~m6695/udp.html。 當在同一臺機器上運行時,通過更改#define SRV_IP「999.999.999.999」#define SRV_IP「127.0.0.1」該程序正常工作。UDP客戶端和服務器無法通過不同的機器通信

然而,相同的程序,其中,服務器被置於一個系統,而在另一客戶端,以及改變的#define SRV_IP「999.999.999.999」的#define SRV_IP「10.60.5.94」上(這是我的服務器IP)不起作用。即使 - 即使客戶端將數據包發送到服務器的IP地址,服務器也無法接收數據包。

請建議爲使代碼在不同機器上運行而需要執行的更改。提前致謝。

+1

我喜歡這篇文章如何描述最近(1999年秋季)的Linux版本... ...「最近」在14年前 – Mike 2013-03-19 11:56:59

+0

是否打開了防火牆中的端口? – oleksii 2013-03-19 11:58:32

+0

@oleksii:我們如何在防火牆中打開端口?我使用的是Fedora 14. – Zax 2013-03-19 12:00:48

回答

0

你應該學會一次調試這一步。

  1. 首先在客戶端機器上使用一個嗅探器,以確保UDP數據包事實上已經發布。當你在它的時候,檢查包中的目標地址。
  2. 然後在服務器機器上使用一個嗅探器來查看數據包是否真的進入。嗅探器會在數據包到達內核之前捕獲這些數據包。這會告訴你網絡上的某些東西,甚至服務器上的防火牆是否正在吃包。

祝你好運。