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方法里面指定字节数组的位置,同时每读一次做适当的休眠
? ? ? ? ? ? ? ? ? ? ? ? 如果你不指定字节数组的位置,而是每次从头读起,那么它会覆盖原先的结果?