同じサブネットにあるAndroidフォン間でTCP接続を確立しようとしています。Android携帯をサーバーとして、Androidエミュレータをクライアントとして使用すると、接続が機能します。しかし、エミュレータを他のAndroidフォンに切り替えると、タイムアウトになります。私のAndroidフォンは同じローカルネットワーク(192.168.0.0/24)にあります。
クライアント スクリプト:
s = new Socket();
s.connect(new InetSocketAddress(IP, TCP_SERVER_PORT), 10000);
DataOutputStream DOS = new DataOutputStream(s.getOutputStream());
DOS.writeUTF("coord");
s.close();
サーバー スクリプト:
while(!end){
//Server is waiting for client here, if needed
Socket s = ss.accept();
DataInputStream DIS = new DataInputStream(s.getInputStream());
String msg_received = DIS.readUTF();
Log.i("gauta",msg_received);
if(msg_received.equals("coord")) {
//some work.....
}
s.close();
if (quit){ end = true; }
}
ss.close();
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}