Как избежать постановки данных в очередь при отправке через websocket? - PullRequest
0 голосов
/ 24 апреля 2019

Я разработал приложение для Android для отправки голосовых команд на ПК с помощью OkHttp3 WebSocket. Проблема, с которой я сталкиваюсь, заключается в том, что голосовые данные не отправляются немедленно через WebSocket, пока он не будет закрыт. Как я могу исправить эту проблему? Я хочу передавать потоковое аудио с помощью WebSocket на ПК без каких-либо задержек.

            while (status == true) {
                int readBytes=recorder.read(sendData,0,minBufSize);

                if(readBytes!=0) {
                    buffer=short2byte(sendData);

                        if(false == webSocket.send(ByteString.of(buffer, 0, buffer.length)))
                            Log.e("VS","Failed to send data over websocket");

                }
            }

webSocket.send просто ставит в очередь данные, и данные отправляются на ПК после вызова WebSocket.close. Это создает задержку в приложении приемника ПК. Есть ли другой класс Java для этого?

...