日期:2014-05-20  浏览次数:20662 次

socket接到一个InputStream如何重置这个流?
调用reset报不支持reset操作

我的需求别人发给我一个包得到包后尝试保存,如果保存失败就从新再走一遍,所以第一次已经将socket理的流读了一遍,如果出错我本想InputStream.reset()一下,让他重新读但是就错了,这个问题如何解决?

------解决方案--------------------
socket这样的是不支持reset和mark的,直接第二次getInputStream()
------解决方案--------------------
先发信息发去,告诉他 你要读哪个数据 以及从哪开始读。
------解决方案--------------------
你说的那个程序出错是什么错误,业务逻辑错误还是socket传输错误,
若是后者,那要不再重新连一次服务器。
不大清楚,帮顶。
------解决方案--------------------

SOCKET流是一次性的东西,读一次就没了,如果错误可以通过协议让对端再发送一次上次的报文.

------解决方案--------------------
我想設計成流的初衷也應該是為了節省資源,以低耗的方式來操作,getStream很形象,流過即不再來