客户端套接字未连接到服务器套接字

时间:2016-10-16 15:33:37

标签: java android sockets networking

我试图通过本地网络在两部Android手机之间传输消息。我读了插座,这是一个很好的方法。 (我不能使用蓝牙) (我也不能使用NFC)

我已经构建了一个服务器和客户端应用程序。

一个应用程序有一个侦听连接的服务器。
另一个应用程序有一个客户端,当按下按钮时尝试连接。

两个清单文件都包含正确的权限。 (使用html标签)
uses-permission android:name =" android.permission.INTERNET" /              
uses-permission> android:name =" android.permission.ACCESS_NETWORK_STATE" /

我先将服务器放在网上:

      ServerSocket myServerSocket = new ServerSocket(27024);
      System.out.println("Server is waiting for incoming connection on host=" + InetAddress.getLocalHost().getCanonicalHostName() + ", port=" + myServerSocket.getLocalPort());
      Socket socket = myServerSocket.accept();

然后尝试与客户端连接。

            String host = "localhost";
            int port = 27024;

            try{
                System.out.println("Client attempting to connect to server at host: " + host + ", port: " + port);
                Socket socket = new Socket(host, port);

                //This below line never gets called :(
                System.out.println("Client socked created! Now trying to send data to server");

               }

在我的控制台中:
客户端尝试连接到主机上的服务器:localhost,port:27024

"客户socked创建!" line永远不会输出。

两个主机都设置为" localhost"和端口号是一样的。
我尝试了各种端口,但没有任何反应。

1 个答案:

答案 0 :(得分:1)

String host = "localhost";
int port = 27024;

您意识到您的客户端需要获得服务器的IP地址,对吧?

注意您很可能无法或永远不应该在非WiFi接口上绑定应用。