Неблокирующие TCP/IP SocketChannels и Selector в NIO помогают мне обрабатывать множество соединений TCP/IP с небольшим количеством потоков. Но как насчет UDP DatagramChannels? (Я должен признать, что я не очень хорошо знаком с UDP.)
Операции отправки UDP, похоже, не блокируются, даже если DatagramChannel не работает в режиме блокировки. Действительно ли случай, когда DatagramSocket.send(DatagramPacket) блокируется из-за перегруженности или чего-то подобного? Мне действительно интересно, есть ли такой случай и какие возможные случаи существуют в производственной среде.
Если DatagramSocket.send(DatagramPacket) фактически не блокируется, и я не собираюсь использовать подключенный DatagramSocket и привязываться только к одному порту, нет ли преимущества использования неблокирующего режима с DatagramChannel и Selector?