Исключение EOF WebSocketListener
Я пытаюсь получить ответ массива байтов аудио от WebSocketApi, отправив его через Okhttp3-(WebSocketListener). Но я получаю EOFException в onFailure() WebSocketListener при отправке аудио байтового массива.
Мой код:
// Установление соединения с WS api
client = new OkHttpClient();
listener = new EchoWebSocketListener();
request = new Request.Builder().url("ws://AUDIO_PROCESSING_URL").build();
ws = client.newWebSocket(request, listener);
client.dispatcher().executorService().shutdown();
// Отправка байтового массива аудио в WS API
@Override
public void onOpen(WebSocket webSocket, Response response) {
String bytes = ByteString.of(AudioData).toString();
webSocket.send(bytes);
}
//ОШИБКА
: onFailure: java.io.EOFException
: onFailure t.getMessage(): null
Пожалуйста, помогите мне узнать это.
Заранее спасибо.
1 ответ
Решение
Попытайтесь закрыть соединение после отправки данных, а не выключать клиент.
public void onOpen(WebSocket webSocket, Response response) {
String bytes = ByteString.of(AudioData).toString();
webSocket.send(bytes);
webSocket.close(1000, null); // close ws connection
}