0

我正在尝试从 Android 应用程序连接到 Internet 上的聊天服务器,所以首先我测试我是否从 AsyncTask 与服务器联系:

@Override
    protected Void doInBackground(SocketAndEditText... soEd) {
    try{
            InetAddress address1 = InetAddress.getByName("130.237.161.23");
            boolean reachable = address1.isReachable(4456);
            //...
    } catch (Exception e) {
        //...
    }
}

当我运行上面的代码时,变量reachable获得了值false,但是当我运行与简单的 Java 控制台应用程序相同的代码时,我得到true

import java.net.InetAddress;
public class Test {
    public static void main(String[] args) {
        try{
            InetAddress address1 = InetAddress.getByName("130.237.161.23");
            boolean reachable = address1.isReachable(4456);
            System.out.println(reachable);
        } catch (Exception e) {
            //...
        }
    }
}

在我的清单文件中,我有<uses-permission android:name="android.permission.INTERNET" />

为什么它不能在 Android 中运行,而是作为 Java 应用程序运行?

4

0 回答 0