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