我有一个非常简单和基本的工作 Java 客户端/服务器程序。这工作正常。但是,我现在正在尝试编写一个 Android 客户端,但我无法从我的 android 客户端连接到服务器。我对 android 网络代码使用几乎与普通客户端相同的代码。我的 android 代码很简单,它所做的只是从 onCreate 启动这个线程:
private int serverPort = 8889;
private String serverIP = "192.168.5.230";
private Socket socket = null;
private Thread clientThread = new Thread("ClientThread") {
@Override
public void run() {
try {
socket = new Socket();
socket.connect(new InetSocketAddress(serverIP, serverPort), 1000);
DataInputStream din = new DataInputStream( socket.getInputStream());
DataOutputStream dout = new DataOutputStream(socket.getOutputStream());
while (true) {
String message = din.readUTF();
setPicture("picture1");
}
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
};
该端口是我的服务器运行的正确端口,IP 地址也是如此(我从 ifconfig 获得,因为我知道你不能使用 localhost)。当我使用相同的端口和 IP 地址运行我的普通 pc 客户端时,连接就会通过。但是当我在我的 android 设备上运行此代码时,当我尝试连接时套接字超时。
有人对我哪里出错有任何建议吗?