【问题标题】:Android socket io event and ChannelAndroid socket io事件和Channel
【发布时间】:2020-07-07 05:03:00
【问题描述】:

如何添加事件和频道?

private void initSocketConnection() {
    try {
        mSocket = IO.socket("URL");
        connectSocket();
    } catch (URISyntaxException e) {
        throw new RuntimeException(e);
    }
}

private void connectSocket() {
    try {
        mSocket.connect();
        mSocket.on(Socket.EVENT_CONNECT, onConnect);
        mSocket.on(Socket.EVENT_CONNECT_ERROR, onError);
        mSocket.on(Socket.EVENT_DISCONNECT, onDisconnect);
    } catch (Exception e) {
        e.printStackTrace();
    }
}

private Emitter.Listener onDisconnect = new Emitter.Listener() {
    @Override
    public void call(Object... args) {
        Log.e("SOCKET_TEST", "DISCONNECTION SUCCESSFULL");
    }
};


/**
 * Receiver class for socket connected event
 */
private Emitter.Listener onConnect = new Emitter.Listener() {
    @Override
    public void call(Object... args) {
        Log.e("SOCKET_TEST", "CONNECTION SUCCESSFULL");
    }
};

/**
 * Receiver for socket failed events
 */
private Emitter.Listener onError = new Emitter.Listener() {
    @Override
    public void call(Object... args) {
        Log.e("SOCKET_TEST", "CONNECTION FAIL " + args.toString());
    }
};

我发送一个请求,返回32:44/socket.io,"Invalid namespace" 需要发送事件和频道

我使用库 https://github.com/socketio/socket.io-client-java 我按照文档做所有事情,但没有任何效果。

【问题讨论】:

    标签: java android sockets socket.io


    【解决方案1】:

    而不是只创建一个套接字:

    val socket = IO.socket("https://something.com/socket.io")
    

    尝试下一个代码:

    val opts = IO.Options()
    opts.path = "/socket.io"
    
    val socket = IO.socket("https://something.com", opts)
    

    4/socket.io, "Invalid namespace" 尝试连接到套接字时遇到了同样的问题,上面的代码修复了它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-04-19
      • 2019-10-10
      • 2019-09-20
      • 2022-01-25
      • 1970-01-01
      • 1970-01-01
      • 2017-10-23
      • 1970-01-01
      相关资源
      最近更新 更多