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