因此,应用程序的流程是,
首先,我使用我的Android手机通过wifi连接设备(这是一个服务器),然后,我想将一个字符串发送到该设备,就是这样。
问题是,当我尝试像这样发送时
new Thread(new Runnable() {
@Override
public void run() {
try {
Socket socket = new Socket("192.168.8.101",2001);
DataOutputStream DOS = new DataOutputStream(socket.getOutputStream());
DOS.writeUTF("61");
socket.close();
} catch (Exception e) {
final String error = e.getMessage();
runOnUiThread(new Runnable(){
@Override
public void run() {
Toast.makeText(mContext, error, Toast.LENGTH_SHORT).show();
}
});
Log.d("test1",e.getMessage());
e.printStackTrace();
}
}).start();
它返回无法连接到异常
中的/192.168.8.101 (port 2001) : connect failed EHOSTUNREACH (No route to host)
如何修复,通过编程或使用某种方式,有没有办法检查IP和端口是否正确?感谢
答案 0 :(得分:2)
确保关闭该端口上的防火墙。
为确保IP正常运行,我们通常会ping该机器。
有一个名为wireshark的工具可以点击进入您计算机的数据包。所以让你在1000循环和泵消息时发送功能。在服务器上转动wiresahrak,看看你是否能够在那里获得数据包。
还有很多其他程序可以连接到套接字。拿一个示例java程序并尝试连接到另一个套接字。如果确实如此,你的Android内容也会这样做。