Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从Internet连接到Android TCP服务器应用程序(不带路由器):不可能?_Android_Sockets_Tcp_Server - Fatal编程技术网

从Internet连接到Android TCP服务器应用程序(不带路由器):不可能?

从Internet连接到Android TCP服务器应用程序(不带路由器):不可能?,android,sockets,tcp,server,Android,Sockets,Tcp,Server,我正在尝试编写一个Android应用程序来接受来自互联网的TCP连接。听起来很简单,但尽管几周来我头痛不已,但我没有找到解决办法,现在我相信这是不可能的。我希望有人告诉我我错了 “ServerSocket()”API函数鼓励了我。我能够创建一个监听套接字(例如,在端口2000上),并从设备中的另一个应用程序连接到它。不幸的是,我发现它绑定到(不可路由的)本地地址10.0.0.150,当然,从互联网上看不到 通过将设备指向本地WIFI路由器,并使用路由器的“端口转发”功能将传入连接中继到MyPub

我正在尝试编写一个Android应用程序来接受来自互联网的TCP连接。听起来很简单,但尽管几周来我头痛不已,但我没有找到解决办法,现在我相信这是不可能的。我希望有人告诉我我错了

“ServerSocket()”API函数鼓励了我。我能够创建一个监听套接字(例如,在端口2000上),并从设备中的另一个应用程序连接到它。不幸的是,我发现它绑定到(不可路由的)本地地址10.0.0.150,当然,从互联网上看不到

通过将设备指向本地WIFI路由器,并使用路由器的“端口转发”功能将传入连接中继到MyPublicIp:2000到10.0.0.150:2000,我还能够成功连接。但这在我没有路由器的领域(通过LTE连接)是不可用的

我搜索了StackOverflow和其他网站,但没有找到好的答案(但有很多不适用或迟钝的)

从我的阅读中,我听说大多数(所有?)运营商不允许将传入连接路由到用户设备,这可能解释了我的困境

请:有人告诉我我错了。

我认为这是可能的。
查看有关我的移动运营商(移动提供商)的信息:它可以提供静态IP地址,并且我的移动设备可用于传入会话,但只需为此服务付费。

获取设备的IP地址只是问题的一小部分。我可以通过多种方式找到我的设备的公共(DHCP)IP地址,但我仍然无法连接,因为我的问题就是这样。你用的是哪种载体?