当用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是有读取时间限制的,还是本人的系统问题?求帮助
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端依旧保持连接并去读数据导致的
问题原因是server端关闭,client端依旧保持连接并去读数据导致的