背景
学习tcp读取数据的过程,怎么实现有多少数据就读多少数据
内容
private LinkedBlockingQueue<byte[]> n = new LinkedBlockingQueue(1024);
while(super.f) {
int bytesRead = this.q.read(bytes, 0, readLength);
if (bytesRead <= 0) {
super.f = false;
break;
}
byte[] receBytes = new byte[bytesRead];
//读多少数据就用多大的字节数组存
System.arraycopy(bytes, 0, receBytes, 0, bytesRead);
//将数据放到队列里面
this.n.put(receBytes );
}