Should I use (non-blocking) NIO for UDP?

2020-07-27 05:18发布

问题:

According to this post, UDP just doesn't block. Are there any advantage using the (non-blocking) NIO API for UDP? Or should I just use the easier "traditional" io API?

回答1:

At the risk of just pointing you back, the comments to that post explain that UDP doesn't block on the TCP ACK, but you could still block on a kernel buffer overflow. This would happen only if you have a very big UDP burst.



回答2:

If you are working with a large number of streams, it may help you to have a dedicate threading model to handle those sockets. NIO provides some of the work (selectors) that would help.