Я пытаюсь подключиться к веб-сокету, но когда я пытаюсь подключиться, я получаю 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")
}
}
Я не знаю, что я делаю не так, и Все сообщения с сервера в двоичном формате
Пожалуйста, помогите мне решить эту проблему
Спасибо