Должен ли я использовать (неблокирующий) NIO для UDP?

Согласно этот пост, UDP просто не не блокировать. Есть ли какое-либо преимущество в использовании (неблокирующего) NIO API для UDP? Или я должен просто использовать более простой «традиционный» io API?


person J-16 SDiZ    schedule 12.11.2009    source источник


Ответы (2)


Рискуя просто указать вам назад, комментарии к этому сообщению объясняют, что UDP не блокирует TCP ACK, но вы все равно можете блокировать переполнение буфера ядра. Это произойдет только в том случае, если у вас очень большой пакет UDP.

person MSalters    schedule 12.11.2009
comment
Очевидно ничего, именно поэтому вы не ждете TCP ACK. - person MSalters; 13.11.2009

Если вы работаете с большим количеством потоков, может помочь наличие специальной модели потоков для обработки этих сокетов. NIO предоставляет некоторую работу (селекторы), которая может помочь.

person Jim Rush    schedule 12.11.2009
comment
Можно ли использовать NIO для прослушивания трансляции UDP с сервера на телефон Android. Есть ли проблема, если я постоянно получаю и слушаю сигналы UDP, используя традиционный способ в Android, потому что в моем случае после долгой работы он не прослушивает пакеты. - person George Thomas; 02.09.2016
comment
Я этого не делал, но этот пост (прочитать все ответы) указывает, что это может быть: ">stackoverflow.com/questions/17472781/java-nio-udp-broadcast - person Jim Rush; 02.09.2016