Android socket 编程 实现消息推送(一)
最近用socket写了一个消息推送的demo,在这里和大家分享一下。
主要实现了:一台手机向另外一台手机发送消息,这两台手机可以随时自由发送文本消息进行通信,类似我们常用的QQ。
效果图
原理
手机通过socket发送消息到服务器,服务器每接收到一条消息之后,都会把这条消息放进一个messageList里面,服务器会不停地检测messageList是否含有消息,如果有的话就会根据messageList里面item的数据,推送到相应的另一端手机上面。
下面简单画了一个图来说明这个原理:
演示:手机客户端client1发送消息msg1到手机客户端client2,client2收到消息后回复msg2给client1
1.手机客户端client1发送一条“msg1”的文本消息到服务器;
2.服务器收到来自client1的“msg1”消息后,把它add进messageList里面;
3.服务器检测到messageList里面含有消息(开启服务器时就新建里一个检测messageList的线程,线程里面有一个死循环,用于不停检测messageList是否含有消息);
4.服务器读取消息数据,如读取到来自client1发给client2的消息“msg1”,那么服务器就把“msg1”推送到client2上;
5.client2检测到服务器推送的消息,做出相应的操作(如:震动、铃声、显示消息等);
6.client2接收到来自服务器推送的“msg1”消息后,client2也回复一条文本消息“msg2”给client1,此过程和client1发送消息给client2一样。
7.最后,client2就可以显示来自client1发送的消息“msg1”,而client1则可以显示来自client2的回复消息“msg2”
以上主要介绍了实现消息推送的原理,实现过程的代码见下一篇:Android socket 编程 实现消息推送二
本文转自:http://blog.csdn.net/zhangjm_123/article/details/41512833
Android socket 编程 实现消息推送(一)相关推荐
- Android socket 编程 实现消息推送(二)
上篇文章Android socket 编程 实现消息推送(一)讲到socket编程的消息推送原理,现在我们来看看基于Android客户机socket编程实现消息推送的过程. 根据消息推送的原理图,我们 ...
- Android socket 编程 实现消息推送
最近用socket写了一个消息推送的demo,在这里和大家分享一下. 主要实现了:一台手机向另外一台手机发送消息,这两台手机可以随时自由发送文本消息进行通信,类似我们常用的QQ. 效果图: 原理 ...
- java android消息推送_Android中使用socket通信实现消息推送的方法详解
原理最近用socket写了一个消息推送的demo,在这里和大家分享一下. 主要实现了:一台手机向另外一台手机发送消息,这两台手机可以随时自由发送文本消息进行通信,类似我们常用的QQ. 效果图: 原理: ...
- Android:Umeng(友盟)消息推送(二)
在已集成友盟统计的情况下:Android:Umeng(友盟)数据统计(一) 第一步: 个人中心---U-Push(消息推送)---添加新应用---从已有应用中添加 如图: 获得Appkey和secr ...
- 【转】android系统的APP消息推送机制
原文:https://www.jianshu.com/p/f898a2c02b05 参考文章: http://blog.csdn.net/carson_ho/article/details/52862 ...
- Android集成阿里云消息推送的方法步骤
一 创建App应用 1.1 在控制台发(https://mhub.console.aliyun.com)的App列表页,点击页面产品列表中"添加产品"的图标即可创建一个新的产品(产 ...
- Android端消息推送总结:实现原理、心跳保活、遇到的问题等
前言 最近研究Android推送的实现, 研究了两天一夜, 有了一点收获, 写下来既为了分享, 也为了吐槽. 需要说明的是有些东西偏底层硬件和通信行业, 我对这些一窍不通, 只能说说自己的理解. 为什 ...
- 浅谈iOS和Android后台实时消息推送的原理和区别
http://www.52im.net/thread-286-1-1.html 前言 iOS和Android上的实时消息推送差异很大,往小了说是技术实现的差异,往大了说是系统实现理念的不同.实时消息推 ...
- Android 项目必备(三十八)-->APP 消息推送
文章目录 前言 推送的实现方式 1. C2DM 2. 轮询 3. SMS信令推送 4. MQTT协议 5. XMPP协议 6. 使用第三方平台 Android 中 MQTT 的使用 1. 集成 2. ...
最新文章
- 机房收费系统=三层+设计模式
- java 自旋锁_java锁的种类以及辨析(一):自旋锁
- 查看win10版本方法,及win10升级方法
- Android之jni编译出现no matching function for call to ‘_JNIEnv::GetJava(JNIEnv* , Java VM**)‘解决办法)‘
- elk入门_ELK堆栈入门
- java 使用vsphere 创建虚拟机‘_Java数组的创建及使用
- 46、练习:输出指定目录下的所有文件名称
- Eduline在线教育系统源码 带完整修复后台
- 用Visual Studio调试asp程序
- Linux学习之Makefile编写
- ceph rbd mysql_ceph-rbd使用
- 业务流程管理模型优化设计
- 苹果双系统怎么切换_电脑双系统如何安装,使用小白一键重装系统
- JQuery(1)——JQuery如何读
- 015-lissajous server
- 数据分析报告怎么写?
- MATLAB对一子数组赋值
- YOLOv6训练时报错解决方法
- 【调剂】北京科技大学钢铁共性技术协同创新中心2021年硕士拟接收调剂公告
- QGIS噱头笔记--(1)QGIS概要了解