socket 读取问题

J2EE 码拜 7年前 (2017-04-16) 1204次浏览
当用outputStream write数据并调用flush方法后, 只要过了一段时间(很短,1秒以内)就不能进行read调用,会报
java.net.SocketException: Software caused connection abort: recv failed错误。
这个时间本人是通过断点停在read方法前面,走到read方法的时候就会报这个错,假如不用断点(或sleep方法或做个无用循环花费时间),可以读取得到数据(大部分时候,有时候也会报这个错误)。
假如是做循环读取,就会报java.net.SocketException: Software caused connection abort: recv failed错误.
本人怀疑是不是在socket调用flush之后, inputStream里的read是有读取时间限制的,还是本人的系统问题?求帮助
解决方案

100

感觉不是flush出的问题,是之后就关闭socket了。
问题原因是server端关闭,client端依旧保持连接并去读数据导致的

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明socket 读取问题
喜欢 (0)
[1034331897@qq.com]
分享 (0)