2011-04-13 134 views
2

我正在製作兩個程序;一個「服務器」應用程序(單實例)和一個連接到服務器應用程序的客戶端應用程序(多個實例)。將會有連續(但很輕)的數據在服務器應用程序和客戶端應用程序之間發送,但客戶端應用程序之間沒有通信。如何通過互聯網連接套接字?

到目前爲止,我通過本地網絡上的計算機之間打開的套接字連接成功地測試了此操作。這意味着我正在使用cmd> ipconfig中的IP地址。服務器應用程序使用TcpListener/TcpClient。我真的不知道這是最好的連接方式,還是有其他人(?),但這就是我所學到的。

現在需要什麼來完成這項工作internet?我假設我會將連接請求發送到外部IP地址,但我是否需要對請求進行更復雜的更改?

我是否需要在路由器中進行一些設置?如果是這樣,什麼類型?

任何提示,將不勝感激,如你所見,我不太熟悉這一點。

回答

0

您可以繼續使用套接字。爲了更方便地與服務器通信,請使用主機名而不是IP地址;這樣,服務器可以自由更改IP地址,而無需重新部署客戶端。

另一個要考慮的問題是防火牆。您需要確保服務器應用程序的主機允許入站連接到其正在偵聽的TCP端口,並且它所在的任何路由器也允許向該端口傳入流量。此外,如果客戶端有阻止出站流量的防火牆,則客戶端可能會遇到連接問題。

+0

Ehm ..我如何/在哪裏設置主機名? – bretddog 2011-04-13 02:12:58

+0

您必須從域名註冊商獲取域名,然後將其配置爲指向您計算機的IP地址。例如,去爸爸出售它們。 – Jacob 2011-04-13 02:20:45

+0

哦,我明白了。我有一些域名,所以也許我可以設置一個子域名。我如何處理客戶潛在的防火牆問題?他們是否會收到允許流量的請求,如果可能,我將如何確保在此類警報中顯示正確的軟件名稱? – bretddog 2011-04-13 02:50:25