2

这就是问题所在。

我有两部安卓手机,都连接到同一个无线网络。一部电话正在使用 ServerSocket 进行侦听,而另一部则尝试使用此套接字进行连接。

然而,这并没有发生。(ie) 没有建立连接。但是,当我在我的 PC(也在同一网络上)上创建一个监听 ServerSocket 并将我的手机设置为连接到 PC 时,连接就建立了。

换句话说,我可以在手机和电脑之间建立连接,但不能在手机和手机之间建立连接。有没有人知道什么可能导致这个问题?

谢谢!

下面是我用来获取 IPv4 地址的代码。

WifiManager wifiManager = (WifiManager) getSystemService(WIFI_SERVICE);
WifiInfo wifiInfo = wifiManager.getConnectionInfo();
int ipAddress = wifiInfo.getIpAddress();
int[] address = new int[4];
String ip = "";
for (int i = 0; i < 4; i++) {
   address[i] = ipAddress % 256;
   ipAddress /= 256;
   if (i != 3)
      ip += (String.valueOf(address[i]) + ".");
   else
      ip += String.valueOf(address[i]);
}
return ip;

编辑:

我尝试记录确切的位置和原因,它给出了以下错误:

java.net.SocketException: No route to host at 
org.apache.harmony.luni.platform.OSNetworkSystem.connect(Native Method) at 
dalvik.system.BlockGuard$WrappedNetworkSystem.connect(BlockGuard.java:357) at 
org.apache.harmony.luni.net.PlainSocketImpl.connect(PlainSocketImpl.java:207) at 
org.apache.harmony.luni.net.PlainSocketImpl.connect(PlainSocketImpl.java:186) at 
java.net.Socket.startupSocket(Socket.java:735) at 
java.net.Socket.<init>(Socket.java:263) at 
com.test.word.WifiActivity$12.run(WifiActivity.java:460) at
java.lang.Thread.run(Thread.java:1027)
4

1 回答 1

0

忘记网络并重新连接它解决了这个问题。

感谢你的帮助!

于 2012-12-09T16:05:28.540 回答