2011-04-04 226 views
1

如果我創建一個C++服務器/客戶端應用程序,我用來通訊的端口是否需要在服務器和客戶機與C++服務器/客戶端應用程序的端口

或路由器還有什麼其他方法可以在開放我拿?在客戶端計算機需要從服務器接收信息,但我不能有任何端口打開,因爲它是一所學校網絡上....

[編輯]

嗯我的設置是一個PHP頁面運行在服務器上,當我按下hello時,服務器通過php發出ssh連接並將shell命令發送給機器。服務器運行在學校服務器上,我有ssh訪問權限,並從那裏運行所有的東西。客戶端計算機將是我的電腦跑掉學校的無線網絡連接到服務器。服務器將嘗試使用我的計算機的公共ip連接到學校的wifi(沒有端口打開/可以SSH出,但沒有SSH)。請問你提到的這些方法是否可行,特別是connect.c,因爲我不能從服務器運行putty,並且我可以從php調用connect.c。

+0

重標問題;考慮轉移到superuser.stackexchange.com – sehe 2011-04-04 21:22:57

+0

您應該提供更多信息。你的appication傳輸協議是TCP還是UDP? *「它在學校網絡上」*:哪一臺計算機在網絡上,您無法打開任何端口?客戶端?服務器?都?你期望來自互聯網的連接,還是僅僅在學校網絡內? – thkala 2011-04-04 21:31:53

回答

0

語言的選擇在這裏是非常不相關的。

在任何路由器上都不需要端口「打開」,除非您的流量必須經過它。在同一網絡(或子網)中的普通對等主機上,幾乎沒有防火牆策略,即使在學校也是如此。

從技術上講,交換機可能會阻塞對等點對等流量(意味着流量不是指向外出網關的流量),但這並不常見。

當然,如果學校不允許在大多數端口,倒黴的出站(WAN)的流量,他們是絕對正確的:)

你可以看一下

一切都非常容易一派

+0

哦,不要忘記顯而易見的:使用打開的端口。順便說一下,如果您使用代理或NAT防火牆,則只能依靠出站連接,除非您可以在路由器上配置端口轉發。 – sehe 2011-04-04 21:24:59

+0

我已向問題添加了更多內容,請查閱。 – user541597 2011-04-04 21:44:50

+0

我沒有看到它 – sehe 2011-04-04 21:46:14

0

要建立一個TCP/IP連接,只有服務器端口必須是由客戶端訪問。該連接是全雙工的,因此數據可以從客戶端流向服務器,反之亦然。

如果您的應用程序使用UDP(無連接協議),會發生什麼情況嚴重取決於防火牆或路由器以及它是否爲您的服務執行連接跟蹤。

除非您提供有關您的服務以及客戶端和服務器端的網絡設置的其他信息,否則我們無法提供更多具體信息。

+0

服務器是一個專門的學校服務器學生使用的HTML,PHP,這樣的事情。我可以通過ssh訪問服務器。客戶端將在學校的無線網絡上,我沒有SSH訪問。服務器將是完成大部分工作的人員。所以服務器需要有ssh訪問客戶端的權限。我的想法可能是在客戶端上創建一個腳本,並不斷ssh進入服務器並檢查是否有任何命令通過,如果收到的服務器說出hello按鈕按下該命令,則查詢會將任何命令返回給客戶端並運行它。 – user541597 2011-04-04 21:52:18

相關問題