使用socket阻塞方式收发数据不能返回-1的疑问。
影游 2015-03-05 01:13:56 (1)使用的是java.net下面的阻塞socket
(2)Socket为长连接方式
(3)我使用 len = inputStream.read(bytes);来读取数据时,是不返回-1的,因为我使用的是长连接,socket和socket.outputstream是不断的。
问题:如果我读取比较大的数据该如何办(1M数据)?循环读取是无法判断流结尾的(原因是不返回-1)。
看到网上有人使用available()方法判断是否还有数据,这个不可取,因为available为0时,不代表本次数据传输完毕,可能还有未完数据的。