`

搜寻了关于android推送资料后的一些思考

阅读更多

其实我们要用推送服务的情况还挺多:

1,站内性 其实是可以用推送实现的,互相点对点的推送 当然这是在web上的,名字有点老土

2,私信 这个微博的私信就是一种,值在页面右下角出来对话框形式的

3,优惠发送到手机app上 很多app都来这个,推送些软件或者文章

4,app和app之间的通信 聊天软件 微信 gtalk等

 

以上几种服务的形式可分类成:

1,server对server 站内信

2,server对client  私信 优惠推送

3,client对client  聊天工具 微信 gtalk

其本质的原型是 N个client《------》server《-------》N个client client在登录后都会有一个id被记录在server,server就通过这个id来点对点的发送信息返回信息。这里只是说了点对点就是私聊,群聊还没说,我猜想只是多了一个群聊标记判断。

其原理实现是基于xmpp协议的 http://blog.csdn.net/xyz_lmn/article/details/6947130 谢谢这个作者

 

可能的技术选型和架构:

1,

服务端server:openfire+smack+mysql+tomcat

openfire是实现了xmpp的一个服务器也是一个开源项目,用来管理连入的client信息的。也是有openfire负责消息发送和接受的。

smack是一个xmpp协议的api库,openfire是使用了这个库的

mysql是openfire的数据库,也可以支持mssql的

tomcat是web服务器,openfire还是要跑在这个上面的

 

客户端client:使用smack api的任何客户端都可以,只要信息以xmpp协议发送就可以了,至于发送到哪里肯定是openfire在的服务器咯 

上面这个选型呢,开源的,可以自己修改,如果要和自己的程序在进行整合需要花点时间

 

2,

服务端server:openfire+smack+mysql+tomcat

客户端client:smackweb  html5或者用浏览器控件直接访问用web技术做的网站也行。只要让client链接到server就可以了

还有使用asmack api 的client asmack是smack的android优化版

 

3,

服务端server:你自己随便用什么写都行

客户端client:随便什么客户端+现有的第三方推送服务,极光推送,还有一个收费的我就不举例了。

 

顺便说一句:如果你的应用的流程是可以在client执行一个动作后获取服务端信息的,就还是用http吧。也就是推送的业务和其他业务是相邻的2个业务动作就行。

分享到:
评论
2 楼 Think_Java_1993 2013-05-09  
问一下你的jshop的设计文档可以给我一份么 我在看你的这个开源项目 正好这些技术我都有涉及 除了freemarker  我想看看你的设计文档 数据库文档我这里下载了
我的邮箱:yjc199308@gmail.com
1 楼 曹佳伟 2013-04-11  
老大,我现在的想法是做一个长连接推送,原理和comet一样,因为我的app使用人群不会很多,应该说是企业app应用,而且应该只有企业高层使用,服务器方面都是用企业自己的服务器

相关推荐

    安卓Android的校园论坛客户端毕业设计

    此外,为了提高用户体验,客户端可能还需要集成推送通知服务,如Firebase Cloud Messaging (FCM),确保用户即使不在应用内也能及时收到新消息提醒。同时,考虑到性能和电池效率,需要优化网络请求和数据加载策略,...

    android Studio快捷键开发大全

    5. **版本控制**:`Alt+9`打开版本控制面板,`Ctrl+K`提交,`Ctrl+D`推送。 6. **构建与运行**:`Shift+F10`运行项目,`Shift+F9`调试项目,`Ctrl+F9`编译项目,`Ctrl+Shift+F9`编译选定文件或目录。 7. **代码...

    高级架构师必备学习资料

    5. **移动开发**:除了App开发,高级架构师还应理解移动设备的特性,如离线存储、推送通知、电池效率、网络优化等。资料可能包含移动开发的最佳实践和案例研究。 这些学习资料可能包括教程、实战项目、代码示例、...

    Android模拟器中安装apk的方法

    总结一下,Android Debug Bridge (ADB) 是Android开发中的一个重要工具,它提供了与Android设备进行通信的能力,包括安装、卸载APK,以及文件的推送和拉取。了解和掌握这些基本操作对于Android开发者来说至关重要。...

    安卓应用-电子图书-哲思读书最新版 v0.0.1.zip

    6. **更新推送**:应用可能会定期推送新的哲学书籍或者应用更新,保证用户始终接触到最新的内容。 7. **云端同步**:用户在不同设备上的阅读进度和笔记可以同步,确保阅读体验的一致性。 尽管哲思读书应用目前处于...

    0518JGA电商购物平台APP端Axure RP原型.rar

    8. **消息通知**:实时推送订单状态变化、促销活动等信息,增强用户互动。 9. **支付系统**:集成多种支付方式,如支付宝、微信支付等,保证交易安全和流畅。 10. **适配性**:设计需考虑不同设备(如手机、平板)...

    2017阿里技术年度精选(上下合集)

    “移动开发”部分则聚焦于Android和iOS平台的开发技巧,包括性能优化、跨平台开发和推送服务等,帮助开发者提升移动端产品的用户体验。 最后,“开源技术”和“大牛访谈”章节,不仅介绍了阿里巴巴贡献的开源项目,...

    【移动开发】1.刘强-基于Flutter跨平台框架的Now直播应用实践.pdf

    - **远程构建平台**(QCI):开发者提交代码后,平台自动构建并推送更新到对应分支,适用于跨团队协作,提高协作效率。 4. **开发模式变迁**: 开发模式经历了从个人独立开发到团队内部协作,再到跨团队协作的...

    本科毕业设计,商品移动推荐系统(APP).zip

    本设计以“商品移动推荐系统”为主题,旨在构建一个能够根据用户行为和偏好,实时推送个性化商品推荐的移动端应用。下面将对这一主题进行深入解析。 一、需求分析 商品移动推荐系统的核心目标是提高用户购物体验,...

    互联网企业的关键成功因素研究.docx

    该软件能够根据用户的行为和喜好,精准推送个性化的内容,从而提高了用户的满意度和粘性。在这个项目中,技术研发能力是成功的关键,而市场推广策略则确保了产品的商业价值得以实现。该企业通过优化人才招聘和培训...

    ideas:公开分享想法,以获取互联网社区的反馈和评论

    6. **数据分析与推荐系统**:通过收集用户行为数据,可以建立推荐系统,将相关想法推送给感兴趣的用户,提高用户参与度。 7. **API集成**:平台可能与其他服务集成,如社交媒体分享、邮件通知,或者与开发工具集成...

Global site tag (gtag.js) - Google Analytics