服务器直接推送android,服务器推送消息到Android终端方法
Andorid手机应用程序去请求一个服务器有很多种方法,HTTP,Socket,WebService等,每次请求都能返回数据,程序可以根据返回的值进行保存或者再次发起请求,想得到什么就请求什么,非常精准,也非常迅速。
可是像QQ,飞信,米聊,微信这些软件是怎么实现IM通信的呢?从网上找了一堆,大多数都不大明白怎么回事,现在我终于明白为什么招聘Android开发工程师的时候,要求有网络开发(TCP/IP、HTTP)了。
先列一下我查到的方法或者我知道的方法,也可能有重复的,求高手指正:
1、SMS短信PUSH
依靠运营商的短信接口,push命令短信到手机端。接收到短信后拦截,然后解析短信内容,根据解析到的指令,产生相应的动作,比如再去主动请求服务器,拉取数据。
优点:实时性强,不会耗电,不会耗费网络流量,只要有信号,就能用。可以说是几乎万能的了。
缺点:必须依靠比较大的运营商,而且如果很多人同时在线交流,SMS数量会非常之大。免费的短信接口不容易寻找到,支持性,兼容性较差。
2、简单轮询的方式
我的猜测:每隔一段时间主动向服务器发起请求,可以是HTTP请求。通信过程需要自己去写,最需要考虑的就是请求的频率,太慢了达不到即时的效果,太快了电池,流量和带宽都有限制。
优点:不需要依靠第三方,轻量级实现,灵活性好
缺点:频率需要权衡,功能需要自己封装。
3、Socket连接
优点:可以保持长连接,快速响应
缺点:手机端电力和流量消耗较大,服务器端连接数过多,负载过重
4、MQTT协议
这个没研究过,不过据说这个也能很好实现,服务器端如果是用PHP写的话,看起来就比较吃力了。
5、 C2DM方式
谷歌官方提供的服务
优点:官方式的服务,全面,有效
缺点:不支持2.2以下版本,不能自己建立服务器,服务器在国外,你懂得
6、XMPP协议
6.1 Openfire + asmack
6.2 androidPN Server + androidPN Client
第二个其实是第一个的第三方实现,但是如果自己做,还是推荐用第一种方式
未完待续。。。
服务器直接推送android,服务器推送消息到Android终端方法相关推荐
- android 按键消息,在android中模拟键盘消息(shell命令的方法)
已找到解决方案[code] use: sendevent command format: sendevent device type code value [command] [device] [ty ...
- Android 服务器推送技术
在开发Android和iPhone应用程序时,我们往往需要从服务器不定的向手机客户端即时推送各种通知消息,iPhone上已经有了比较简单的和完美的推送通知解决方案,可是Android平台上实现起来却相 ...
- php微信小程序物流进度推送,微信小程序 消息推送php服务器验证实例详解
微信小程序 消息推送php服务器验证实例详解 设置页面("设置">>"开发设置"): 1.设置服务器域名 注意http和https协议的不同. 2. ...
- 微信小程序消息推送自有服务器无法接收到信息,消息推送服务器配置次数用完的解决方式。
问题描述:消息推送自有服务器无法接收到信息,消息推送服务器配置次数用完! 解决方向:自有服务器无法接收信息的排错,消息推送配置的次数用完的解决方式. 适合版本:微信所有版本(2020.4.16) 关于 ...
- 怎么用git将本地代码上传到远程服务器_git在远程服务器创建项目并将本地代码推送到服务器上...
1.进入到远程服务器 ssh name (name:远程服务器地址) 2.进入以后新建一个空的仓库 git init --bare name (name:仓库的名称) 3.退出远程服务器 exit 4 ...
- 打包docker镜像,推送远程服务器,部署到k8s步骤
打包docker镜像 前提条件 1.docker服务器已开启远程访问,参考<远程docker服务器携带证书连接>. 2.服务器上已经搭建好k8s集群,本文是k8s单点集群用于测试. 在之前 ...
- C#FFmpeg视频采集与推送RTMP服务器代码思路整理
C#视频采集与推送RTMP服务器代码思路整理:在看过FFmpeg后是否认为写C#的视频流采集和推送还是一头雾水啊?深有此感.领导是C#的高手,说可以通过C或C++的代码直接复制粘贴到C#工程然后进行适 ...
- win10消息推送服务器,win10怎么对更新的推送消息进行设定
正常来说,我们在给电脑下载安装完新的win 10系统之后,一般是没有问题的,通常是在收到系统更新的推送之后再进行更新就行,但是好多小伙伴说自己从来没有收到过win 10的更新推送通知,下面白豆芽就和大 ...
- 信息推荐服务 信息推送服务器,根据用户喜好进行信息推送的方法及服务器技术...
[技术实现步骤摘要] [专利摘要]本专利技术公开了一种根据用户喜好进行信息推送的方法及服务器,包括:获取预设范围内的用户的喜好标签:接收到目标用户发出的喜好信息推送请求:将所述目标用户的喜好标签与所述 ...
- 信息推送分发服务器系统,消息事件的分发方法、分发平台、系统及服务器专利_专利查询 - 天眼查...
1.一种消息事件的分发方法,其特征在于,包括:如果监测到消息发布服务发布的消息事件,获取预先存储的配置信息:其中,所述配置信息包括所述消息发布服务,以及所述消息发布服务对应的至少一个消息订阅服务:根据 ...
最新文章
- java 内存_java节省内存的几条建议
- 程序员求职之道(《程序员面试笔试宝典》)之学业与求职,孰轻孰重?
- WinAPI: waveOutPause - 暂停播放
- Maven搭建SpringMVC+Mybatis项目详解
- hermite插值c语言程序,张艳-埃尔米特Hermite 插值逼近的C语言程序.doc
- 计算机物联网工程学什么,物联网工程主要学什么 物联网工程专业课程有哪些...
- 测试开发面试题汇总(自用)
- 面试题目之:为什么选择veu?与其他框架对比的优势和劣势?
- java程序throw异常,Java中处理异常throw和throws
- iOS上传IPA时提示导入此构建版本时出错-errors occurred in the app thinning process
- 【5月比赛合集】80场可报名的数据挖掘大奖赛,任君挑选!
- 区块链技术具体要用到什么开发语言?
- hive-创建数据库-创建表--hive版本3.1.2
- Linux常用命令和shell命令
- 快速接入高德地图SDK(地图+定位+标记+路线规划+搜索)
- exit和return的区别
- cf1149E. Election Promises
- windows硬盘linux无法挂载,关于linux:Ubuntu无法挂载Windows硬盘甚至Windows在双启动时正常关闭...
- 怀旧服小号最多的服务器,怀旧服入坑攻略:10个快速练级技巧要领
- shadow机械手臂系统