2012-10-02 83 views
1

我想在c中開發一個小型的客戶端 - 服務器應用程序。爲此,我採取了一個源代碼:http://www.iprelax.fr/outils/c_prog5.phpC和以太網連接的客戶端服務器

它在本地工作,無需更改IP地址或端口。我試着用2臺電腦(mac os和ubuntu)。它們使用以太網電纜連接,我們在此接口(eth0)上定義了一個靜態IP地址10.0.0.10和10.0.0.20。在客戶端,我們改了行:

char *msg, *htoname = "127.0.0.1"; 

與服務器的IP地址,但它不工作,沒有錯誤。

我們試圖改變端口號,但仍然是同樣的問題。

我們看到任何有netstat和netcat命令的東西。

如何在兩臺計算機之間運行應用程序?

謝謝您的幫助

+0

你必須表現出更多的代碼!由於我們不知道你在做什麼,因此不可能說。 –

+0

另外,你是直接連接兩臺計算機還是通過集線器/交換機連接?如果您直接在計算機之間沒有任何集線器/交換機的情況下執行此操作,則需要使用特殊的網線。 –

+0

@JoachimPileborg現代的大多數網卡可能都有自動感應端口。當然,使用開關將會使它確定。 – unwind

回答

1

當兩臺機器之間去,一般防火牆阻止傳入的連接,即你的服務器的機器應該允許客戶端連接到自身。

如果您的服務器在Ubuntu上,那麼您正在使用Linux IP表。請添加規則以允許傳入連接的服務器端口或完全禁用IP表。

vi /etc/sysconfig/iptables 

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 5800 -j ACCEPT 

回答這個問題列表它的細節

using ip tables on stack overflow

+0

謝謝,我們將防火牆配置爲接受其他計算機的連接,它工作正常:) – skurty

+0

歡迎您。我自己面對這是我第一次將套接字客戶端服務器從一臺機器移到多臺機器上。所以這是一個懷疑的原因。 – fayyazkl