これが問題です。
私は2台のAndroidスマートフォンを持っており、どちらも同じWi-Fiネットワークに接続しています。1台の電話がServerSocketでリッスンしており、他の電話はこのソケットに接続しようとしています。
ただし、これは発生していません。(つまり)接続が確立されません。ただし、PC(同じネットワーク上)でリスニングServerSocketを作成し、電話をPCに接続するように設定すると、接続が確立されます。
つまり、電話と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)