Извините, вы не можете получить доступ к буферу TCP.
Веб-сокет Jetty обязателен для сети Java.
Что вы хотите знать, так это результаты записи WebSocket в TCP перегрузка / обратное давление.
Чтобы сделать это, вы обращаете внимание на вызовы записи.
С блокировкой WebSocket это просто простой процесс выполнения записи, он не вернется, пока запись не завершится. завершено. Если он блокируется, запись, вероятно, перегружена по протоколу TCP, и вам следует отказаться от записи чего-либо еще.
При записи asyn c WebSocket вы обращаете внимание на результаты записи (либо из будущего, либо из Обратный вызов) и не пишите следующее сообщение, пока вы не подтвердите, что текущее сообщение успешно записано.
Невозможность обратить внимание на асинхронные обратные вызовы / фьючерсы c приводит к очереди сообщений (очередь не имеет верхний предел и будет увеличиваться, чтобы вместить всю доступную память).
Вам, как приложению, использующему websocket, решать, что делать при обнаружении этого сценария медленной записи.
закрыть соединение?
Вы отбрасываете некоторые сообщения?
Вы вообще ставите сообщения в очередь?
Если вы делаете сообщения в очереди, у вас есть приоритет или важность сообщения?
Если определенное число приоритетных сообщений не было отправлено, затем вы закрываете соединение?
Удерживаете ли вы эти приоритетные сообщения для повторной отправки, когда (если?) клиент переподключается?
У вас есть срок действия / время ожидания для сообщений в очереди?
Удаление сообщений, которые не были отправлены в течение X времени?