Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/189.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Can';t连接到android上的本地socketIO nodejs服务器_Java_Android_Node.js_Socket.io - Fatal编程技术网

Java Can';t连接到android上的本地socketIO nodejs服务器

Java Can';t连接到android上的本地socketIO nodejs服务器,java,android,node.js,socket.io,Java,Android,Node.js,Socket.io,我制作了一个基本的nodejs服务器,当用户连接到该服务器时,控制台会记录日志。我使用socket io进行此操作,因为我想制作一个聊天应用程序。在我的android端,我试图创建一个到本地服务器的连接,但我在尝试时从未获得控制台日志,socket.connected保持为false。在尝试连接时,也永远不会出现错误或其他情况 我试过一些互联网上的例子。我得到了一个例子,删除了我没有使用的所有东西,它仍然有效。我将粘贴从那个示例复制到我自己的项目中,但仍然不起作用。 这是我用过的 这是我的项目代

我制作了一个基本的nodejs服务器,当用户连接到该服务器时,控制台会记录日志。我使用socket io进行此操作,因为我想制作一个聊天应用程序。在我的android端,我试图创建一个到本地服务器的连接,但我在尝试时从未获得控制台日志,socket.connected保持为false。在尝试连接时,也永远不会出现错误或其他情况

我试过一些互联网上的例子。我得到了一个例子,删除了我没有使用的所有东西,它仍然有效。我将粘贴从那个示例复制到我自己的项目中,但仍然不起作用。 这是我用过的

这是我的项目代码 节点JS:

安卓:

public class MainActivity extends Activity {
    private Socket socket;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ChatApplication app = (ChatApplication) getApplication();
        socket = app.getSocket();
        socket.connect();
    }
}
聊天室应用程序类:

public class ChatApplication extends Application {
    private Socket mSocket;
    {
        try {
            mSocket = IO.socket("http://192.168.0.109:3000");
        } catch (Exception e) {
            Log.e("Error", e.toString());
        }
    }

    public Socket getSocket() {
        return mSocket;
    }
}

Android Studio emulator通常会阻止本地主机连接,我不确定这种情况是否发生在您的案例中,但它发生在我身上。试着在Android Studio中弹出你的
Logcat
,看看你是否能找到表明本地主机连接被拒绝的信息


不确定是否是这样,但你应该检查一下

您是否使用仿真器连接本地主机?。尝试使用IP
10.0.2.2
而不使用emulator。我正在使用自己的android设备连接到套接字时出现了什么错误?
public class ChatApplication extends Application {
    private Socket mSocket;
    {
        try {
            mSocket = IO.socket("http://192.168.0.109:3000");
        } catch (Exception e) {
            Log.e("Error", e.toString());
        }
    }

    public Socket getSocket() {
        return mSocket;
    }
}