мое приложение имеет очередь с "исходящими сетевыми пакетами" (POJO с ByteBuffer
и SocketChannel
) внутри, которая используется одним потоком, который записывает данные в SocketChannel
.
Я делаю это, чтобы гарантировать, что каждый клиент, который должен получать пакеты, получает свою очередь.Это означает, что SocketChannel.write()
пишет последовательно нескольким клиентам (= 1 одновременно).
Может кто-нибудь сказать мне, что может пойти не так, работая так?SocketChannels
создаются из ServerSocketChannel
, поэтому они блокируются.
Боюсь, что операция write()
может заблокировать 1 клиента, что заставит других клиентов ждать ...