Android Socket.io连接问题

Android Socket.io连接问题,android,socket.io,okhttp3,Android,Socket.io,Okhttp3,我正在使用Socket.io进行一对一聊天。我以前用过,但从来没有遇到过这样的问题。我的应用程序在显示以下错误后崩溃 我收到的错误 java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String okhttp3.MediaType.toString()' on a null object reference at io.socket.engineio.client.transp

我正在使用Socket.io进行一对一聊天。我以前用过,但从来没有遇到过这样的问题。我的应用程序在显示以下错误后崩溃

我收到的错误

 java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String okhttp3.MediaType.toString()' on a null object reference
        at io.socket.engineio.client.transports.PollingXHR$Request.onLoad(PollingXHR.java:271)
        at io.socket.engineio.client.transports.PollingXHR$Request.access$700(PollingXHR.java:148)
        at io.socket.engineio.client.transports.PollingXHR$Request$1.onResponse(PollingXHR.java:232)
        at okhttp3.RealCall$AsyncCall.execute(RealCall.java:216)
        at okhttp3.internal.NamedRunnable.run(NamedRunnable.java:32)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
        at java.lang.Thread.run(Thread.java:818)
到目前为止我做了什么?

我在坠机前拿到了这个日志 外部连接的套接字登录检查….


你能帮我吗?

我找到了问题的解决方案。我不知道这个解决方案是否适用于其他面临同样问题的人,但这对我有效

我所做的是

val ioOption = IO.Options()
            ioOption.query = "username=$user_email"
            ioOption.secure = true
            ioOption.reconnection = true
            ioOption.transports = arrayOf(WebSocket.NAME)

            SocketConstants.socketIOClient = IO.socket(SocketConstants.SOCKET_URL, ioOption)
ioOption.transports=arrayOf(WebSocket.NAME)

这条线解决了我的问题。只需将trasports添加为“WebSocket”


如果他们面临同样的问题,希望这对其他人也有用。

他们发布了新版本1.0.1,修复了错误(29天前)。如果您尝试使用v2.0.0,请小心,我在接收套接字消息时遇到问题,因此我使用了1.0.1,不幸的是,它对我不起作用。我添加了Websocket.Name,很久以前仍然面临同样的问题
val ioOption = IO.Options()
            ioOption.query = "username=$user_email"
            ioOption.secure = true
            ioOption.reconnection = true
            ioOption.transports = arrayOf(WebSocket.NAME)

            SocketConstants.socketIOClient = IO.socket(SocketConstants.SOCKET_URL, ioOption)