2013-07-19 46 views
-1

我對android開發很陌生,幾乎沒有網絡技術背景。我在Java中創建了簡單的TCP服務器,並在Android中創建了TCP客戶端。一切工作在我的本地網絡中。TCP客戶端是否需要打開端口才能連接到外部服務器?

我的問題是,如果客戶端可以連接到服務器上我的外部IP,通過GSM網絡,其中的所有端口總是由移動網絡運營商封鎖,所以只有服務器會轉發端口連接到全球互聯網。

如果這是不可能的,我會非常感謝,如果你可以建議我很好的替代android(通過GSM intenet)和服務器(我發現的實時通信的一切是TCP/UDP協議)之間的實時通信。

感謝答覆)。

回答

1

是。您可以通過單元網絡通過服務器上的開放端口進行連接。否則,很多Android應用程序根本無法運行。

我公司連接到我們的演示服務器爲我們的智能手機應用程序時使用自定義端口。從來沒有在美國的任何提供商有點麻煩。

+0

感謝快速回復。不幸的是我不能投票,因爲我剛加入論壇。 – user2414483

0

只要你的GSM運營商允許出站流量,你不需要開到連接到遠程服務器端口。當您嘗試建立連接時,提供商的NAT或類似NAT的設備將爲該一個套接字暫時打開一個端口。它允許出站而不讓入站數據包打開連接。

如果您的GSM提供商不允許使用所有流量,那麼您的運氣不好。

相關問題