我应该对 UDP 使用(非阻塞)NIO 吗?
根据 这篇文章,UDP 只是不不阻止。使用(非阻塞)NIO API for UDP 有什么优势吗?或者我应该使用更简单的“传统”io API?
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?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
冒着指向你的风险,该帖子的评论解释说 UDP 不会阻止 TCP ACK,但你仍然可以阻止内核缓冲区溢出。仅当您有非常大的 UDP 突发时才会发生这种情况。
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.
如果您正在处理大量流,那么拥有专用线程模型来处理这些套接字可能会帮助您。 NIO 提供了一些有帮助的工作(选择器)。
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.