EasySocket
EasySocket copied to clipboard
断线重连
断线重连怎么实现,有例子吗?
用心跳包检测,心跳丢失一定次数的时候,socket就断开重连
connect server sucessful java.lang.RuntimeException: 读取数据的包头失败,在-1位置断开了,可能是因为socket跟服务器断开了连接 at com.example.msmk.socker_server.iowork.EasyReader.readHeaderFromSteam(EasyReader.java:178) at com.example.msmk.socker_server.iowork.EasyReader.read(EasyReader.java:76) at com.example.msmk.socker_server.iowork.EasyReader$1.run(EasyReader.java:167) at java.lang.Thread.run(Thread.java:745)
断线重连后,服务器报错,并且客户端也挂了
断线重连后,服务器报错,并且客户端也挂了
你连的服务端是项目自带的还是自己的
connect server sucessful
java.lang.RuntimeException: 读取数据的包头失败,在-1位置断开了,可能是因为socket跟服务器断开了连接
at com.example.msmk.socker_server.iowork.EasyReader.readHeaderFromSteam(EasyReader.java:178)
at com.example.msmk.socker_server.iowork.EasyReader.read(EasyReader.java:76)
at com.example.msmk.socker_server.iowork.EasyReader$1.run(EasyReader.java:167)
at java.lang.Thread.run(Thread.java:745)
这个问题可能是项目默认的消息的数据结构跟服务端发回的消息的数据结构不一样
项目的例子,怎么才能改成断线重连?
项目的例子,怎么才能改成断线重连?
首先要启动心跳检测,因为断线与否需要心跳包来检测,怎么启动例子上有,你要测试断线重连的话,可以断开手机网络或者重启服务端软件即可
好的