Android 使用Socket坑点总结

作者: 刘景昌 | 来源:发表于2019-07-06 17:10 被阅读4次
  1. 前端使用的Socket框架 AndroidAsync
    框架地址:https://github.com/koush/AndroidAsync

2.后端使用的Socket框架 Workerman
TP 使用规则 https://www.kancloud.cn/manual/thinkphp5/235128
使用流程

图片.png

众所周知移动端的网络是不稳定的,所以经常会出现网络波动导致Socket断开在重连
问题一:在Socket断开重新连接时,消息缓存池中存在的消息有时候想客户端发送,有时候不发送。
原因:在后台 wokerMan所有的连接的并不是在一个进程中,所以有的时候回客户端发送消息
解决方法:在连接成功之后向服务器发起通信 告知服务器连接 服务器遍历缓存池 同时服务器通过Socket向客户端发送消息
问题二:在Socket重新连接时连接多次
原因:在socket断开时 客户端知道 但是服务之并不知道 当前连接已经断开 ,所以在重新连接的时候服务器的此条连接已经存在,所以请求失败。
解决方法:在重新连接的时候通知服务器需要关闭的连接id
问题三:客户端由于不知名原因未收到服务器发送的消息
解决方法:添加一个按钮用来同步socket缓存池中的消息

相关文章

网友评论

    本文标题:Android 使用Socket坑点总结

    本文链接:https://www.haomeiwen.com/subject/wlnphctx.html