我想在android上创建一个应用程序来检查用户是否在服务器数据库中。此时,我只是尝试连接工作。
这是我的客户代码:
public class Client {
public void testConnexion() {
new LoadTesting().execute();
}
class LoadTesting extends AsyncTask<String, String, String> {
private final String HOST_ADDRESS = "23.248.21.91";
private final Integer HOST_PORT = 2009;
@Override
protected String doInBackground(String... params) {
Socket socket;
try {
Log.d("CASERVER", "Connexion...");
InetAddress srvAddress = InetAddress.getByName(HOST_ADDRESS);
socket = new Socket(srvAddress, HOST_PORT);
Log.d("CASERVER", "Connexion successful !");
// DO SOMETHING
socket.close();
} catch (IOException e) {
e.printStackTrace();
Log.w("CASERVER", e.getMessage(), e);
}
return null;
}
}
}
和服务器部分
public class Server {
public static final int HOST_PORT = 2009;
public static void main(String[] args) {
ServerSocket serverSocket;
Socket socketDuServeur;
try {
serverSocket = new ServerSocket(HOST_PORT);
socketDuServeur = serverSocket.accept();
// DO SOMETHING
serverSocket.close();
socketDuServeur.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
我添加了这些权限
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
我的服务器在我的macbook上连接到我的wifi。 我有两个Eclipse Window:一个用于android,一个用于服务器。
测试:
我期待结果:
Connexion...
Connexion successful ! (Or an error)
我得到了以下日志结果:
Connexion...
没有错误,没有成功。根本不值一提... 当我手动关闭服务器(与笔记本电脑上的另一个客户端)我有EHOSTUNREACH错误(设备找不到服务器)
你能帮助我吗?