今天在用java
socket读取服务器端发送的数据时,
发现只能读取服务器端发送的部分数据,无法完整读取服务器端的数据。数据大概有7W多个字节。
原代码如下:
private String getSocketDCCReceiveCCA() throws IOException{
InputStream stream=socket.getInputStream();
byte[] rb = new byte[8];
socket.getInputStream().read(rb);
//前8个字节是整个xml数据的长度(十六进制)
int rLen =b2i(rb);
Log.info("转换后的rLen长度为:"+rLen);
byte[] read = new byte[rLen - 8];
//一次性读取数据的长度(这里有7W多个字节)
socket.getInputStream().read(read);
//对数据进行
编码转换
String re = new String(CheckUnicodeString(read), "UTF-8");
return re;
}
请各位帮忙看看,为什么服务器端返回的字符串有7W多个,而我这边只接收到几千个字节。