Java 使用wifi direct连接时,插座连接失败
我正在尝试在多个设备之间建立连接,一个作为服务器或组所有者,另一个作为客户端,这是我使用wifi direct和wifi p2p实现的,工作正常 在组中连接设备后,我尝试在服务器和多个客户端之间建立套接字连接,但无法使用套接字进行连接。显示以下错误 java.net.ConnectException:在5000ms后未能连接到/192.168.49.1(端口8988):断开连接失败:ECONREFUSE(连接被拒绝) SockertServer代码Java 使用wifi direct连接时,插座连接失败,java,android,sockets,Java,Android,Sockets,我正在尝试在多个设备之间建立连接,一个作为服务器或组所有者,另一个作为客户端,这是我使用wifi direct和wifi p2p实现的,工作正常 在组中连接设备后,我尝试在服务器和多个客户端之间建立套接字连接,但无法使用套接字进行连接。显示以下错误 java.net.ConnectException:在5000ms后未能连接到/192.168.49.1(端口8988):断开连接失败:ECONREFUSE(连接被拒绝) SockertServer代码 @Override protected
@Override
protected Object doInBackground(Object[] params) {
try {
server = new ServerSocket(8988);
Log.d("ServerActivity", "Server: Socket opened");
Log.d("ServerActivity", server.getLocalPort() + "");
Log.d("ServerActivity", server.getInetAddress() + "");
Socket client = server.accept();
Log.d("ServerActivity", "Server: connection done");
ObjectOutputStream objectOutputStream = new ObjectOutputStream(
client.getOutputStream()
);
objectOutputStream.writeObject("Hie");
client.close();
server.close();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
客户端套接字
@Override
protected Object doInBackground(Object[] params) {
try {
mSocket = new Socket();
mSocket.bind(null);
mSocket.connect((new InetSocketAddress(getAddr, portNo)), SOCKET_TIMEOUT);
if (mSocket.isConnected()) {
Log.d("Client Activity", "Socket Connected Successfully");
} else {
Log.d("Client Activity", "Socket not Connected ");
}
ObjectInputStream objectOutputStream = new
ObjectInputStream(mSocket.getInputStream());
msg = (String) objectOutputStream.readObject();
message.onMessageSend(msg);
Log.e(".......................", "Message" + msg);
objectOutputStream.close();
} catch (IOException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} finally {
if (mSocket != null) {
if (mSocket.isConnected()) {
try {
mSocket.close();
} catch (IOException e) {
// Give up
e.printStackTrace();
}
}
}
}
return msg;
}
所以任何人都可以帮我解决这个问题。提前谢谢 EconRefused表示已尝试连接,但远程主机端口未侦听。因此,这可能是因为: 它是有效的IP吗?使用ifconfig或ipconfig进行检查。您可以尝试ping服务器 也可能是由于以下原因:
- -服务器无法发送响应:请确保后端在IP和端口上正常工作
- -SSL连接被阻止
- -请求超时:更改请求超时
mSocket.bind(null)
。扔掉它并尝试连接,你确定服务器仍在侦听吗?如果我使用NSD进行进一步诊断,可能需要查看日志,以便为m对等方提供信息,即ip和端口号