如何在 Android 上的 Socket.io 中获取 Socket Id?

Mat*_*hew 5 sockets android

我想获取在 Android 中运行的套接字的 ID。一切都正常创建,并且能够来回发送数据,但我需要获取 Android 套接字 ID 以便在整个应用程序中使用。我试图找到解决方案,但它们要么已经过时,要么不起作用。以下是我解决此问题的最新尝试。通过这次尝试,它错误地指出 中没有元素args[0]。我也尝试过mSocket.id();,但没有任何回报。

public class GameSocket {
private Socket mSocket = null;

private static GameSocket mInstance;
public synchronized static GameSocket getInstance() {
     if (mInstance == null) {
        mInstance = new GameSocket();
     }
     return mInstance;
}

public void initialize() {
     mSocket = IO.socket(URI.create(SERVER_URI));
     mSocket.off();
     mSocket.on(Socket.EVENT_CONNECT, new Emitter.Listener() {
        @Override
        public void call(Object... args) {
           Log.d(GameSocket.class.getSimpleName(), "Event connection...");
           mSocketId = args[0].toString();
           Log.d("CONNECT ID", mSocketId);
        }
     })
     .on(Socket.EVENT_ERROR, new Emitter.Listener() {
         @Override
         public void call(Object... args) {
            if (args != null) {
               Log.e(GameSocket.class.getSimpleName(), "Socket Event Error: " + args[0].toString());
            }
         }
     });
 }
}
Run Code Online (Sandbox Code Playgroud)