android tcp客户端在服务端关闭的时候还能继续发送一次【未解决】

文章讨论了JavaTCPClient在连接Android6.1设备的服务器时,服务端关闭后重新打开,初次发送可能不会立即失败的问题。分析认为可能由于系统对socket进行了缓存,导致链接维护存在延迟。目前尚无解决方案,仅能采取记录并关闭链接的方式应对。
摘要由CSDN通过智能技术生成

问题描述

如题,java的tcp client在连接上服务端后,tcp服务端关闭再打开一次,这个时候tcp client发送会成功。。再发才报错。
理论上第一次发送就该报错,但事实是不报,非常奇葩。
试了用inputstream来接收判断链接是否正常,无效
试了分批发送,第一批一个字节,第二批发送剩余的字节,无效
wtf - -!


原因分析:

感觉以前在linux场合未遇到过这类问题,感觉是android 6.1对socket进行了缓存操作,就是发送或接受的都经过了系统的缓存,系统对链接的维持有延迟性,导致这类情况的发生


解决方案:

暂时未找到解决的方案,只能发完就把链接关闭
记录下,后面找到解决方案再说
哪个大侠有解决方案,也请不吝赐教

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值