https://blog.csdn.net/persistencegoing/article/details/84376427
问题:
我开发的安卓应用(刚学安卓),与硬件通信,通过socket获取硬件数据,刚开始能够正常的接收数据,但是一段时间过后,服务端这边就无法接收到数据了,而且日志中也没有报错,暂时未知原因(因为是死循环,猜测是线程阻塞与等待),百度了很多也没有看到解决方案,各位大佬有好的意见可以留言互动一波
开一个线程启动socket服务端,线程中死循环,捕获异常后使用递归方式接着执行,一段时间后,方法未报错,也没有继续打印日志,说明线程阻塞,但是网络是良好的,原因未知,重启又正常,一段时间又接收不到数据。
解决方案:
我目前的解决方案是,一个线程启动服务端,启动服务端捕获异常后接着关闭服务端在使用递归方式开启,另一个线程休眠一分钟再关闭服务端,这样能解决我的问题。
如果有更好的方案,希望各位提一点意见。
希望大家关注我一波,防止以后迷路,有需要的可以加群讨论互相学习java ,学习路线探讨,经验分享与java求职
群号:721 515 304