SOCKET编程,OutputStream和InputStream的阻塞问题。

服务器端,使用OutputStream.write()输出数据,有进行flush()动作。

客户端,使用InputStream.read()读取服务器的数据数据。

当时间久一点(几十分钟)后,服务器的数据不能急时发送到客户端?(客户端会一次读到几条服务器发来的数据)

请问这是怎么回事?是说明flush()没作用?

还是其他情况?怎么解决这个问题?

服务器在输出数据时应该会和客户端有消息交换,通知客户端读取数据,或客户端通知服务器输出数据,不然会有数据的遗失。也就是说服务器的读写和客户端的读写要配套。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-01-26
是不是进行下事务的处理
第2个回答  2011-01-26
这个问题不在这,代码贴出来,大家分析下吧,
第3个回答  2011-01-28
网络断了或者数据丢失,可能你的异常处理有问题

相关了解……

你可能感兴趣的内容

大家正在搜

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网