【发布时间】:2018-03-31 12:47:31
【问题描述】:
我正在开发一个无线文件共享应用程序。我创建了 2 个不同的 AsyncTask,一个用于发送,一个用于接收。 在用于发送数据的类中,这是我用于连接的代码的 sn-p。
client = new Socket();
client.bind(null);
client.connect(new InetSocketAddress(groupOwnerAddress, 8888));
在用于接收数据的类中,我创建了一个ServerSocket和一个Socket,然后调用
server = new ServerSocket(8888);
client = server.accept();
我的设备由于某种原因没有相互连接。在我从中发送数据的设备中,我在日志中收到以下消息。
我很确定我的 IP 地址没有错,因为我使用 WifiP2pManager 的 connect() 方法连接了 2 个设备。然后我通过请求组信息获得了使用的 IP 地址。
java.net.ConnectException: failed to connect to /192.168.49.1 (port 8888) from /:: (port 38275): connect failed: ECONNREFUSED (Connection refused)
错误指向这一行
client.connect(new InetSocketAddress(groupOwnerAddress, 8888));
我在网上查了错误,说端口没有监听。。但是当我调试接收设备时,我可以看到调试器停在这一行
client = server.accept();
据我了解,这意味着设备正在侦听端口。
感谢任何帮助。
【问题讨论】:
标签: java android sockets serversocket wifip2p