2010-10-26 249 views
0

我想連接2臺或多臺運行c#應用程序的計算機。我發現的所有TCP示例僅顯示如果它們在同一網絡上運行時如何連接它們。連接客戶端

我的問題是如何通過互聯網連接它們?

我想創建一個類似MSN而是直接連接(如洪流軟件一樣)服務,

任何幫助嗎?

問候!

+0

你是什麼意思由同一網絡?通常的問題是防火牆會阻止連接,並確保能夠處理對端口的攻擊。 – weismat 2010-10-26 09:58:43

+1

您需要在防火牆上映射一個傳入端口。跟你的網絡管理員講話。 – leppie 2010-10-26 09:58:58

+0

是否有任何有關在防火牆中解除阻塞c#應用程序的文檔。我使用uToorent,當我安裝時,我必須在Windows防火牆授予權限。我怎樣才能達到同樣的事情? – nemillimen 2010-10-26 10:12:44

回答

1

通過互聯網連接2臺計算機應該大部分與連接局域網相同。你的問題將主要在防火牆。在您的C#代碼中,您將不得不爲兩臺計算機分配IP地址&端口。你應該確保你的防火牆將允許這個端口通過而不被阻塞(打開新端口時要小心安全漏洞)。

如果您的計算機沒有公共IP,您還需要在路由器上設置一些NAT。這會將路由器上的端口+您的公共IP地址映射到本地計算機IP地址+端口。另一臺計算機將在其配置中配置該公共IP地址+端口。有太多可配置的東西可能會在單個帖子中出現。我建議在網絡上學習一些基礎知識。

然而,儘管如此,就C#代碼而言,如果它通過局域網工作,則不應該通過互聯網來改變某個程序的運行。