В некоторых случаях я хочу отправить сообщение об ошибке с сервера клиенту, используя неблокирующий ввод / вывод (SocketChannel.write(ByteBuffer)
), а затем отключить клиент. Предполагая, что я напишу полное содержание сообщения, а затем немедленно отключусь, я предполагаю, что клиент может не получить это сообщение, так как я предполагаю, что ОС на самом деле не отправила данные в этот момент.
Это правильно, и если да, то есть ли рекомендуемый подход к решению этой ситуации?
Я думал об использовании таймера, при котором, если я хочу отключить клиента, я отправляю сообщение, а затем через 1-2 секунды закрываю его соединение.