android 保持socket连接,android – 如何保持websocket连接活着?
我有一个
Android应用程序,即时通讯是关键功能之一.为了实现IM功能,我们使用基于websocket的推送服务器.
对于我的应用程序,我有一个PushService,在此服务中,我建立了一个websocket连接,它连接到推送服务器并接收推送消息.
当应用程序在前台时(即:当用户使用应用程序时效果很好),代码效果很好,但是当应用程序不在前台时,它会在一段时间后停止接收推送消息(大约1分钟).用户关闭屏幕时出现同样的问题.
我已经使用AlarmManager设置了一个重复任务,它检查websocket连接状态,如果它没有处于连接状态,则重新尝试连接以恢复正常以接收推送消息.
这在Android M下运行良好,例如在Android 5手机上,它很少会错过推送消息.但是在Android M / Android N上,它的效果不如Android 5.x.我可以确认服务本身是否继续运行,请查看“正在运行的服务”.
我注意到从Android M开始,Android引入了Doze和Standby模式,不确定它们是否相关,如果是,我该如何让应用程序继续工作?在我的手机上,微信和Skype Android应用程序运行良好,它背后的机制是什么?我知道FCM是最好的解决方案,但我不能将它用于中国的客户,所以我需要一个解决方法.
编辑:我曾建议使用前台服务,但PM不喜欢通知托盘始终显示在状态栏中,他希望保持清洁.
任何建议将被认真考虑!
android 保持socket连接,android – 如何保持websocket连接活着?相关推荐
- android studio socket 失败,Android应用开发Android Studio建立Socket连接失败解决方法
本文将带你了解Android应用开发Android Studio建立Socket连接失败解决方法,希望本文对大家学Android有所帮助. < Android Studio建立Socket连接失 ...
- android 全局 socket,学习Android socket通信之如何解决中文乱码
socket是网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket.socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄 ...
- android传递socket对象,Android Socket通信详解
一.Socket通信简介 Android与服务器的通信方式主要有两种,一是Http通信,一是Socket通信.两者的最大差异在于,http连接使用的是"请求-响应方式",即在请求时 ...
- android 全局 socket,Autobahn Android的一个应用示范和全局化
先介绍下Autobahn Android是什么东西,简单来说,就是github上的一个开源项目,目的是在Android端实现WebSocket的协议,项目的地址在这里,看得懂源码的童鞋可以去看,地址点 ...
- android与web服务器建立连接失败,Android websocket连接失败
我正在开发一个简单的应用程序,它只是应该连接到websocket服务器并发送简单的文本消息.我使用nv-websocket-client作为websocket的库.我似乎无法连接到服务器.我使用wir ...
- python长连接框架_python之websocket【长连接的实现】
websocket技术简单来说就是实现了长连接的技术,相对于传统的ajax或者轮询,websocket主要实现了双通信,并且减少了长轮询的多次请求的时间.总的来说,在很多应用上面能够发挥更好的作用,比 ...
- websocket 连接本地端口_聊聊 WebSocket,还有 HTTP
还记得曾经风靡一时的 QQ 秀聊天室吗?那时,还在上初.高中的我们,QQ 是最常用的聊天交友工具:而 QQ 秀聊天室的出现打破了只能按条件查找好友的局限性,大家可以随意进入聊天室房间,进行在线聊天.怀 ...
- WebSocket连接wss链接
参考链接:http://www.juliankrone.com/connect-and-transfer-data-with-secure-websockets-in-android/ WebSock ...
- Android端发送字符到Wed端,Android面试-socket和websocket
Android与服务器的通信方式主要有两种,一是Http通信,一是Socket通信.两者的最大差异在于,http连接使用的是"请求-响应方式",即在请求时建立连接通道,当客户端向服 ...
最新文章
- 配置网口相机(大恒水星相机)
- 网站推广专员浅析网站推广运营如何提升企业网站转化率?
- js对象,原型,call,apply浅析
- hdu4847 水题
- AI:2020年6月21日北京智源大会演讲分享之09:40Judea教授《 The New Science of Cause and Effect with reflections ondata s》
- 网络架构之争:三大主流架构对决,谁是王者?深入思考CNN、Transformer与MLP
- Adobe Lifecycle ES的安装截图
- linux之sort命令
- Redis 分布式锁遇到的序列化问题
- Python的第三方库openpyxl
- 表必须要有主键吗_玄关隔断什么材质好?玄关隔断必须要做吗
- IDEA手动安装Scala插件[zt]
- netstat 命令详解
- 数据库变为可疑_数据库出现可疑解决办法
- Google街景下载
- 转轮密码机的加解密算法实现
- 如何下载google play上的软件
- Linux 基础知识总结
- bat脚本实现遍历文件夹下所有jar文件名
- https://ac.nowcoder.com/acm/contest/317/D
热门文章
- Android自定义控件之实现快速检索
- Excel之如何使用VLOOKUP函数合并两张表
- 新能源汽车事故频发,国家终于出手,监管总局会拿出什么方案呢?
- 助力绵阳市商业银行,打造高效项目生命周期管理平台
- 微信、支付宝支付绑定多个商户号
- 类似华为麒麟鸿蒙类的名字,华为除了“麒麟”,还有四款顶级芯片,名字背后隐藏寓意令人感动...
- 淘宝产品ID在哪儿查询?
- native2ascii的使用技巧
- 逻辑学自然科学教育计算机,科学网—【逻辑学知识】自然推理系统 - 黄荣彬的博文...
- 改计算机名字 和 命令