2017-07-17 15 views
0

我正試圖編寫一個Android應用程序來接受來自Internet的TCP連接。聽起來很簡單,但儘管數週的頭撞,我找不到解決方案,現在認爲它不可能。我很想有人告訴我我錯了。從互聯網(無線路由器)連接到Android TCP服務器應用程序:不可能嗎?

我被「ServerSocket()」API函數所鼓舞。我能夠創建一個偵聽套接字(例如,在端口2000上)並從我的設備中的另一個應用程序連接到它。不幸的是,我發現它肯定是(無路由)本地地址10.0.0.150,當然,這是從互聯網上看不到的。

我還能夠通過將我的設備指向我的本地WIFI路由器,並使用路由器的「端口轉發」功能將傳入連接中繼到MyPublicIp:2000到10.0.0.150:2000,從而成功連接。但是這在我沒有路由器的領域(通過LTE連接)是不可用的。

我搜索了StackOverflow和其他網站,但沒有找到好的答案(但大量的不適用或鈍的)。

從我的閱讀中,我聽到大多數(所有?)運營商都不允許傳入連接被路由到用戶設備,這可能解釋我的困境。

請:有人告訴我我錯了。

回答

0

我認爲這是可能的。 查看有關我的移動運營商(移動提供商)的信息:它可以提供靜態IP地址,我的移動設備可用於接收會話,但只需支付此服務費用。

+0

獲取我的設備的IP地址只是問題的一小部分。我可以通過多種方式找到設備的公用(DHCP)IP地址,但由於問題存在,因此我仍無法連接。你使用什麼載體? – DontPanic

相關問題