Open shuijian-xu opened 4 years ago
int payLoadLengthInt = payloadLength.intValue(); byte[] payloadBin = new byte[payLoadLengthInt]; int readReadLength = s.read(payloadBin,0,payLoadLengthInt);
readReadLength 不会等于payLoadLengthInt,因而没有读取到的byte 默认为0X00。所以出现非常多的0X00。解决办法如下
int payLoadLengthInt = payloadLength.intValue(); byte[] payloadBin = new byte[payLoadLengthInt]; int readReadLength = s.read(payloadBin,0,payLoadLengthInt); while(readReadLength<payLoadLengthInt){ int currP = readReadLength; readReadLength =readReadLength+ s.read(payloadBin,currP,payLoadLengthInt-currP); }
readReadLength 不会等于payLoadLengthInt,因而没有读取到的byte 默认为0X00。所以出现非常多的0X00。解决办法如下