2017-10-24 9 views
0

WebSocketApi에서 오디오 바이트 배열의 응답을 Okhttp3- (WebSocketListener)를 통해 보내려고합니다. 그러나 오디오 바이트 배열을 보내는 동안 WebSocketListener의 onFailure()에 EOFException이 발생합니다.WebSocketListener EOF 예외

내 코드 :

// 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); 
    } 

// ERROR

: onFailure: java.io.EOFException 
    : onFailure t.getMessage(): null 

도와주세요. 그것을 찾아내는 것.

미리 감사드립니다.

+0

왜 클라이언트를 만든 후에 즉시 종료하고 있습니까? –

+0

데이터를 한 번만 보내려고하기 때문에. – Anila

답변

0

클라이언트를 종료하는 대신 데이터를 보낸 후에 연결을 닫으려고합니다.

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