Android ServerSocket只接受localhost连接

时间:2014-09-19 19:11:11

标签: android sockets

我的Android手机上运行了一个服务器应用程序。我成功地在我的PC上运行的c ++应用程序和通过USB连接到运行应用程序的PC的Android手机之间来回传输数据包。

但是,当c ++应用程序在与连接手机的PC不同的PC上运行时,我无法连接到套接字。使用netstat我可以看到套接字绑定到正确的端口,但是在本地地址127.0.0.1上。这就是为什么当应用程序和手机在同一台计算机上时我的设置有效:127.0.0.1是本地主机地址。

如何打开套接字以使其可用于我的其他计算机?我试图强制ServerSocket绑定到InetAddress 0.0.0.0和InetAddress null,如其他地方所建议的那样,但套接字仍绑定到地址127.0.0.1。我还在我的android清单文件中添加了INTERNET权限:

    <uses-permission android:name="android.permission.INTERNET"/> 

请注意,我在连接手机的远程PC上创建了一个单独的c ++服务器。如果我使用此服务器打开套接字,我可以看到套接字绑定到地址0.0.0.0,我可以成功连接到它。这就是为什么我很确定从手机应用程序打开它时,问题链接到绑定到地址127.0.0.1的套接字。

0 个答案:

没有答案