2012-11-15 359 views
-1

我正在嘗試爲一個學校作業製作一個簡單的聊天客戶端應用程序。C端口轉發問題#

但是數據包被路由器阻塞。我被建議使用UPNP轉發端口,但事情是,我不認爲我會被允許使用這樣的程序,由於安全問題。

是否有任何替代UPNP的端口轉發,一個可以在學校設置中使用,如果我使用UDP而不是TCP,我仍然需要轉發端口。

最後我只想通過互聯網實現簡單的消息傳輸。

地址:我忘了提及我作爲項目的約束我不能使用任何非微軟的東西。

+1

也許你應該在某個地方運行服務器,並通過非阻塞端口進行通信? –

+0

@ChadRuppert我不知道。正在向我索取信使類應用程序。 –

+0

如果你需要幫助弄清楚你的作業至少要比學校名稱/老師的名字...在試圖實施它之前考慮理解你的任務... –

回答

4

端口轉發與C#或.NET無關 - 它是路由器通過特定端口將外部連接轉發到網絡內部地址的功能。

端口轉發通常是TCP/ip套接字(遠程處理)的問題。它通常不是Web服務的問題,它們使用標準協議並通過瀏覽器使用的端口80。

如果端口轉發是一個問題,那麼您可能應該從TCP/IP切換到WebServices以用於您的通信解決方案。

+0

謝謝,我想,我會做進一步的研究。 –

2

如果你完全是本地的機器,你通常不會穿過防火牆,所以它不應該是一個問題。如果您需要與不同的機器通話,您的網絡管理員可能需要在防火牆中爲您打開一個洞。與你的老師討論這個問題;也許一個端口已經爲此打開了,或者他不希望你首先需要繞過防火牆。

如果問題基本上是「我如何繞過我學校的防火牆」,那麼我的答案就是「不要」。這將是一個惡意應用程序。

+0

它不是一個惡意應用程序它的聊天客戶端我需要向我的老師證明,允許通過互聯網進行溝通。我的老師在這個問題上不合作。他說應用程序必須在學校環境中運行。你的意思是說,無論使用哪種協議,我仍然會與防火牆進行抗衡? –

+1

@WinCoder我在說,如果你的應用程序不是惡意的,那麼你應該不需要首先繞過防火牆。如果你說你必須破解你的防火牆,那麼它將會是惡意的。我非常懷疑你的老師會給你一份任務,要求你做一些你的學校的防火牆禁止的事情。 「你的意思是說,不管使用何種協議,我仍然會與防火牆抗衡?」沒有任何關於學校防火牆實施的想法,我不能說。你的老師應該告訴你他對你的期望。 – Servy

+0

我只是想知道什麼樣的技術做的應用程序,如Skype或雅虎通或TeamViewer使用通信。因爲在大多數情況下,它們不需要用戶干預進行設置。他們自動做,我也想做同樣的事情。 –

3

在MSNMessager和Skype等應用程序中,有兩個應用程序正在運行。首先是您在本地計算機上運行的客戶端,另一個是運行在提供程序網絡上的服務器。大多數防火牆只阻止入站連接請求,並允許所有出站請求不經過濾。這並非總是如此,但在大多數情況下是這樣。客戶端應用程序將創建出站到服務器的連接,因此不受防火牆限制。

MSNMessager不直接連接到另一個客戶端,而是由服務器應用程序處理並轉發。一旦通過TCP連接,您將保持連接狀態,直至您決定斷開連接一旦連接雙向通信可以發生在客戶端和它連接的服務器之間。

我希望這可以幫助