有时重复消息在套接字中突然接收和发送

时间:2019-09-20 05:40:15

标签: java android kotlin socket.io

我在使用简单的Java套接字客户端时遇到问题:正确建立了连接,服务器和客户端都可以接收和发送数据。但是有些时候消息收发是2或4次。我已使用以下库https://github.com/socketio/socket.io-client-java

Application类中套接字的初始化

public static Socket getSocket() {

    if (mSocket == null) {
        try {
            IO.Options opts = new IO.Options();
            String[] opt1 = new String[1];
            opt1[0] = "websocket";
            opts.transports = opt1;
            //opts.reconnection = true;

            //opts.reconnection = false;


                mSocket = IO.socket(BuildConfig.SOCKETURL);


        } catch (URISyntaxException e) {
            Log.i("SOCKET", "info>>" + e.getMessage());
            throw new RuntimeException(e);
        }
    }

    return mSocket;
}

Activity类中的接收事件的代码

socket?.on("newMessage", object : Emitter.Listener {
        override fun call(vararg args: Any?) {
           // logic after call back goes here
                }
            }
        }
    })

问题是“ newMessage”事件有时会触发多次,在onDestroy()事件中有socket?.off("newMessage")个未注册。

0 个答案:

没有答案