Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/346.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 客户端套接字未连接到服务器套接字_Java_Android_Sockets_Networking - Fatal编程技术网

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

Java 客户端套接字未连接到服务器套接字,java,android,sockets,networking,Java,Android,Sockets,Networking,我正试图通过本地网络在两部安卓手机之间传输信息。我读了一个很好的方法。 (我不能使用蓝牙) (我也不能使用NFC) 我已经构建了一个服务器和客户端应用程序 一个应用程序有一个服务器,用于侦听连接 另一个应用程序有一个客户端,在按下按钮时尝试连接 两个清单文件都包含正确的权限。(带有html标记) 使用权限android:name=“android.permission.INTERNET”/ 使用permission>android:name=“android.permission.ACCESS\

我正试图通过本地网络在两部安卓手机之间传输信息。我读了一个很好的方法。 (我不能使用蓝牙) (我也不能使用NFC)

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

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

两个清单文件都包含正确的权限。(带有html标记)
使用权限android:name=“android.permission.INTERNET”/
使用permission>android:name=“android.permission.ACCESS\u NETWORK\u 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、端口为27024的服务器的客户端

“Client socketd created!”行从未获得输出

两台主机都设置为“localhost”,端口号相同
我尝试了各种端口,但什么也没发生

String host = "localhost";
int port = 27024;
您意识到您的客户机需要获得服务器的IP地址,对吗


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

但是客户端和服务器都在本地网络上,本地主机?
localhost
指的是应用程序正在运行的设备,地址将始终是
127.0.0.1
,一个本地回送。使用此地址,数据包永远不会离开设备。你需要在另一台设备上使用每一个IP。哦,天哪,这让我觉得很愚蠢,我现在明白了为什么我在youtube上看到的这个家伙的例子起作用了——因为他在一台机器上运行客户端和服务器。好的,我有一个模拟手机在运行,还有一个真正的手机——试图将两者连接起来。我已经输入模拟电话(服务器)作为客户端应用程序的主机(主机ip为10.0.2.15)。但我连模拟电话都没用?什么意思?模拟器?告诉你的服务器在哪里运行。并准确地告诉你的客户在哪里运行。您不能使用模拟器和电话。但是你有两部手机,不是吗?告诉我们服务器电话的ip。告诉我们客户端电话的ip。(客户端电话的ip与此无关)。