2 limuxuan limuxuan 于 2016.03.24 22:03 提问

请问http协议的原理,一直不明白传输过程

http协议的响应流如果写入一个文件,客户端接收到InputStream的时候,这个时候数据是都已经在客户端了吗,还是时时传输,如果这个时候网断了,响应流的数据去哪了?

3个回答

caozhy
caozhy   Ds   Rxr 2016.03.25 00:22

stream是一边发一边收,如果网络断了,两边都会报异常。

wojiushiwo945you
wojiushiwo945you   Ds   Rxr 2016.03.25 08:01

客户端的OutputStream数据对应着服务器端的InputStream,发送端先将数据存储在缓冲区的,当调用OutputStream的flush或者close操作时,数据才会被发送到接收端的。在那之前都是缓存的。

wojiushiwo945you
wojiushiwo945you 回复安卓软件开发: 它拿到响应流就说明服务器已经将数据传输过来了。可以调用socket.close中断。
一年多之前 回复
limuxuan
limuxuan 回复毕小宝: 那客户端拿到响应流的时候,如果不进行读取,数据仍然会传输吗? 客户端能主动中断接收吗?
一年多之前 回复
qq978450288
qq978450288   2016.03.25 11:40

stream 是不断的 一个包一个包 发给你的。
被关闭 或者中断。 就没了。

流跟其他值类型 引用类型都有区别。
如果这个流文件比较小 可以用byte[] 的对象接住他 这样才可以当对象一样操作这个数组了

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!