java .io.EOFException Когда я пытаюсь подключиться к websocket с помощью okhttp3.WebSocket Android - PullRequest
0 голосов
/ 26 мая 2020

Я пытаюсь подключиться к веб-сокету, но когда я пытаюсь подключиться, я получаю java .io.EOFException

  webSocketConnectionExecutor.execute {
            val okHttpClient = OkHttpClient()
            okHttpClient.newBuilder()
                .readTimeout(500, TimeUnit.MILLISECONDS)
                .build()
            val webSocketListener = EchoWebSocketListener()
            val request = Request.Builder()
                .url("wss://a.abc.com/hydrasocket/v2/websocket?access_token={AHMjAyqBtu-T2tjwToXly0dyOr1vek_KdKg0zbaaE0M.SGm1nTSb0StCfDMGfLIcMa-KOLyNiLfRqA6hCsrc4P4}")
                .build()
            okHttpClient.newWebSocket(request, webSocketListener)
            okHttpClient.dispatcher().executorService().shutdown()
        }

EchoWebSocketListener

internal class EchoWebSocketListener() : WebSocketListener() {

override fun onOpen(webSocket: WebSocket, response: Response) {
    super.onOpen(webSocket, response)
    LOGGER.debug("Open to send message -----$response")
    webSocket.send("{\"a\": \"subscribe\", \"v\": [[1, 22]], \"m\": \"marketdata\"}")
}

override fun onFailure(webSocket: WebSocket, t: Throwable, response: Response?) {
    super.onFailure(webSocket, t, response)
    if (t is IllegalStateException) {
        return
    }
    LOGGER.error("Failed to send message $t-----$response")
}

override fun onMessage(webSocket: WebSocket, text: String) {
    super.onMessage(webSocket, text)
    LOGGER.debug(text)
webSocket.send("{\"a\": \"h\", \"v\": [], \"m\": \"\"}")

}

override fun onClosed(webSocket: WebSocket, code: Int, reason: String) {
    super.onClosed(webSocket, code, reason)
    LOGGER.error("OnClose to send message $code-----$reason")
}

}

Я не знаю, что я делаю не так, и Все сообщения с сервера в двоичном формате

Пожалуйста, помогите мне решить эту проблему

Спасибо

...