socketio / socket.io-client-java

Full-featured Socket.IO Client Library for Java, which is compatible with Socket.IO v1.0 and later.
https://socketio.github.io/socket.io-client-java/installation.html
Other
5.32k stars 972 forks source link

I have problem for receiving events #670

Closed kelvinpdihardja closed 2 years ago

kelvinpdihardja commented 3 years ago

Im having difficulties for trying to listening to events when emitted by the server, heres my native android code

`try { IO.setDefaultOkHttpCallFactory(okHttpClient); IO.setDefaultOkHttpWebSocketFactory(okHttpClientSocket); IO.Options opts = new IO.Options(); opts.transports = new String[]{WebSocket.NAME}; opts.reconnection = true; opts.reconnectionAttempts = Integer.MAX_VALUE; opts.secure = true; opts.forceNew = false; opts.multiplex = true; opts.upgrade = true; opts.webSocketFactory = okHttpClientSocket; opts.callFactory = okHttpClient;

        mSocket = IO.socket("https://34cxxxxxxxxx.ngrok.io/", opts);

        mSocket.on(Socket.EVENT_CONNECT, new Emitter.Listener() {
            @Override
            public void call(Object... args) {
                for (Object obj : args) {
                    Log.v("asd", "connect " + obj);
                }
                mSocket.emit("Server", contactId);
            }
        });

        mSocket.on("Mobile", new Emitter.Listener() {
            @Override
            public void call(Object... args) {
                for (Object obj : args) {
                    Log.v("asd", "mobile " + obj);
                }                    }
        });

        mSocket.on("refreshPage", new Emitter.Listener() {
            @Override
            public void call(Object... args) {
                for (Object obj : args) {
                    Log.v("asd", "refreshPage " + obj);
                }
            }
        });

        mSocket.on(Socket.EVENT_DISCONNECT, new Emitter.Listener() {
            @Override
            public void call(Object... args) {
                for (Object obj : args) {
                    Log.v("asd", "disconnect " + obj);
                }
                mSocket.off();
                mSocket.disconnect();
            }
        });

        mSocket.on(Socket.EVENT_CONNECT_ERROR, new Emitter.Listener() {
            @Override
            public void call(Object... args) {
                for (Object obj : args) {
                    Log.v("asd", "connect error " + obj);
                }
                mSocket.off();
                mSocket.disconnect();
            }
        });

    } catch (Exception e) {
        throw new RuntimeException(e);
    }

    mSocket.connect();`

heres emit code in my node JS

io.on("connection", (socket) => { socket.emit("hello", "world"); });

"Socket.EVENT_CONNECT" successfully triggered, but the rest of event didnt even triggered, has anyone had same issues?

darrachequesne commented 3 years ago

@kelvinpdihardja hi! In your example above, there is no handler for the "hello" event, is that normal?

mSocket.on("hello", new Emitter.Listener() {
    @Override
    public void call(Object... args) {
        Log.v("asd", args[0]);
    }
});
darrachequesne commented 2 years ago

Closed due to inactivity, please reopen if needed.