【发布时间】:2015-04-13 06:26:49
【问题描述】:
在 java NIO 中,Selector.select() 是否保证至少一个完整的 UDP 数据报内容在 Socket Channel 上可用,或者理论上 Selector 可以在少于一个数据报时唤醒,比如几个字节?
如果传输协议是TCP会发生什么,关于Selector.select(),和UDP有区别吗?
从 API: 选择一组键,其对应通道准备好进行 I/O 操作。
但它没有具体说明就绪的含义。
所以我的问题:
传入的数据报/流如何从硬件传输到 Java 应用程序套接字(通道)。
在使用 UDP 或 TCP 客户端时,是否应该假设至少接收到一个数据报,或者当只有一部分数据报可用时选择器可以唤醒?
【问题讨论】: