[]Socket input流问题,烦请看下具体是什么原因

//_buffer是我new的一个Byte,把读取的socketinput数据存入buffer
_buffer.writeArrayBuffer(input.buffer,0,input.length);
_buffer.pos=0;

//[问题]!!!!很奇怪 用clear无法清空input
//input.clear();

//必须使用下面的方式清空input
while(input.bytesAvailable)
{
input.getByte();
}
//解析buff数据
readSocketData();
已邀请:

cuixueying

赞同来自:

这个问题是由于,你在上一次读数据的时候,没有读完,譬如100个字节,你只读取了50个,下次读数据的时候就会出现累加,第一次未读完的数据会累加到第二次数据的末尾。你上面的情况应该是第一次数据读null了,你可以自己判断下。

kevinchen2046

赞同来自:

我奇怪的是这里的input.clear的用法,貌似有点鸡肋

要回复问题请先

商务合作
商务合作