产生这个问题的原因一般是数据量过大,在socket数据为传输完成时即关闭通道导致数据未接收完毕
我使用了很多种办法都没有解决,最后找到这种办法可以
ByteArrayOutputStream baos = new ByteArrayOutputStream();
byte[] buffer = new byte[8192];
DataInputStream is = new DataInputStream(new BufferedInputStream(socket.getInputStream()));
int count = 0;
do {
count = is.read(buffer);
baos.write(buffer, 0, count);
Thread.sleep(100);
} while (is.available() != 0);
strInputstream = new String(baos.toByteArray());
baos.close();
socket.shutdownInput();
你们可以试一下