我映像中好像是数据包先到网卡缓冲区,然后读取的时候是批量的从网卡缓冲区复制到JVM的内存里由流去读
问题1:请相关领域的大神验证一下上述的说法是不是正确。
int firstByte = inputStream.read();
int count = inputStream.available();
if(count != 0){
inputStream.read(count个字节)
}
问题2:由于每个数据包的大小不固定,那么上述代码是不是会出现 inputStream.available();返回的位置将一个数据包切成两半,然后通过流读到的数据是不完整的数据包