读书人

socket编程的1点反思

发布时间: 2012-12-25 16:18:29 作者: rapoo

socket编程的一点反思

最近在做一个IM,在android平台上做的研发

?

碰到一个问题是:

?

? ??byte[] respMsgBodyBt = new byte[respMsgBodyLength];

int bodyLength = 0; // 读取报头

while (bodyLength < respMsgBodyLength) {

bodyLength += reader.read(respMsgBodyBt, bodyLength, respMsgBodyLength-bodyLength);

try {

Thread.sleep(SLEEP_TIME);

} catch (InterruptedException e) {

Log.e(TAG, "=============sleep error==");

}

}

?

?

----------------->读取一定长度的字节流的时候,你要注意read方法里面指定字节数组的位置,同时每读一次做适当的休眠

? ? ? ? ? ? ? ? ? ? ? ? 如果你不指定字节数组的位置,而是每次从头读起,那么它会覆盖原先的结果?

读书人网 >编程

热点推荐