WebSocketListener EOF异常

时间:2017-10-24 10:07:19

标签: android websocket okhttp3 eofexception wsapi

我试图通过Okhttp3-(WebSocketListener)发送来自WebSocketApi的音频字节数组的响应。 但是在发送音频字节数组时,我在WebSocketListener的onFailure()中得到了EOFException。

我的代码:

//与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 个答案:

答案 0 :(得分:0)

尝试在发送数据后关闭连接,而不是关闭客户端。

public void onOpen(WebSocket webSocket, Response response) {            
    String bytes = ByteString.of(AudioData).toString();      
    webSocket.send(bytes);
    webSocket.close(1000, null); // close ws connection
}