我试图通过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
请帮我找出来。
提前致谢。
答案 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
}