问题描述
如题,java的tcp client在连接上服务端后,tcp服务端关闭再打开一次,这个时候tcp client发送会成功。。再发才报错。
理论上第一次发送就该报错,但事实是不报,非常奇葩。
试了用inputstream来接收判断链接是否正常,无效
试了分批发送,第一批一个字节,第二批发送剩余的字节,无效
wtf - -!
原因分析:
感觉以前在linux场合未遇到过这类问题,感觉是android 6.1对socket进行了缓存操作,就是发送或接受的都经过了系统的缓存,系统对链接的维持有延迟性,导致这类情况的发生
解决方案:
暂时未找到解决的方案,只能发完就把链接关闭
记录下,后面找到解决方案再说
哪个大侠有解决方案,也请不吝赐教