【问题标题】:WebSocketListener EOF ExceptionWebSocketListener EOF 异常
【发布时间】:2018-04-05 02:02:09
【问题描述】:

我正在尝试通过 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

请帮我找出来。

提前致谢。

【问题讨论】:

  • 客户端创建后为什么要立即关闭?
  • 因为我只尝试发送一次数据。

标签: android websocket okhttp3 eofexception wsapi


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2012-04-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-27
    • 2019-09-16
    • 2017-04-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多