开发者

address family not supproted by protocol error while connecting socket communication in android

in my app i want to receive some message form the server and based on that i want to display pop up message and for this i want to do socket communication in android.

When i am try to read response form the server using socket.getInputstream i will get error "request time out :Address family not supported by the protocol"

Here is my code.

        Socket socket = new Socket("localhost",62000));
        boolean isconnect = socket.isConnected();
        Log.e("Socket Connection ", String.valueOf(isconnect));
        // Read and display the response message sent by server application
开发者_JAVA技巧        // 
        ObjectInputStream ois = new ObjectInputStream(socket.getInputStream());
        String message = (String) ois.readObject();
        System.out.println("Message: " + message);

        ois.close();
        socket.close();


Unfortunately, this exception is caught and reported by Android, and your app doesn't get to see the stacktrace as far as I know (and it's reported at the debug level).

I'm pretty sure the cause of this exception is that an outside machine is trying to access Android and the port is closed (so the connection is refused).

Make sure:

  • You have a server running on the right port in Android
  • You turn on port forwarding for that port (e.g. you can have the service running on port 10000 in the Android emulator, and have your computer's port 20000 forward to that port)
  • Your client is accessing Android using 0.0.0.0 via the forwarded port (20000, not 10000)
  • You correctly specify TCP or UDP (might break things if it's the wrong one)

Hope this helps!

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜