关于Java IM的一点资料

微信是腾讯采用自己开发的协议做的,其他市面上很多产品大都是采用XMPP协议,包括米聊在内之前也是这样子。
采用XMPP协议,服务端可以采用OpenFire搭建,客户端有个开源的叫asmack的东西,google下可以找到。

如果人手少,时间紧,建议采用XMPP,很快就可以出来东西。

如果各方面都充足,还是直接采用tcp来做吧,客户端与服务端维持一个tcp长连接,通过定时发心跳包来保持,这个就需要有服务端高手,要考虑到高并发性等等。这样做的方式就比较灵活了,数据都是通过tcp来发送、接受,可以自己制定各种协议。

如果是个人开发者,给个网址你去看看www.parse.com,提供免费的push服务,完全也可以实现类似即时通信的要求,缺点是服务器是别人的,可能有数据量限制。

时间: 2024-11-15 17:44:35

关于Java IM的一点资料的相关文章

【同行说技术】Java程序员进阶资料汇总(二)

在文章<Java程序员学习资料汇总(一)>里面向大家传送了一些Java入门学习的基础,今天小编继续发功,整理了5篇Java的进阶资料,快来看看吧! 一.开发高性能 Java app 需要知道的那些事 深入剖析了Java APP开发的效率和性能优化问题,值得一览 二.Top 50个快速高效学习 Java 的在线资源 这篇文章提供了快速高效学习 Java 编程的 50 多个网站资源,值得收藏一下 三.推荐普通开发者学习使用的6个JDK内建工具 作者挑了几个 Hotspot 标准安装后可用的小工具来

158个JAVA免豆精品资料汇总

附件完整版下载地址: http://down.51cto.com/data/431561 附件部分预览~ java中国移动收费系统[源代码] http://down.51cto.com/data/70784 java开发必备的日志文件开发包[工具] http://down.51cto.com/data/135698 JS代码自动排版工具 http://down.51cto.com/data/55013 <疯狂Ajax讲义>作者李刚 http://down.51cto.com/data/1317

JAVA宇宙无敌复习资料

一.java基础: 1.java简介 (1)java历史 (2)重要概念 javaSE(标准版) javaEE(企业版) javaME(微型版) JDK(java开发工具包)JRE(java运行环境)IDE(集成开发环境) - JavaSE(javaPlatform,Standard Edition).Java SE 以前称为 J2SE.它允许开发和部署在桌面.服务器.嵌入式环境和实时环境中使用的 Java 应用程序.java se 包含了支持 Java Web 服务开发的类,并为 Java P

【转】【JAVA资料免费下载】158个JAVA免豆精品资料汇总——下载目录

附件完整版下载地址: http://down.51cto.com/data/431561 附件部分预览~ java中国移动收费系统[源代码] http://down.51cto.com/data/70784 java开发必备的日志文件开发包[工具] http://down.51cto.com/data/135698 JS代码自动排版工具 http://down.51cto.com/data/55013 <疯狂Ajax讲义>作者李刚 http://down.51cto.com/data/1317

对于刚开始学习Java的人一点建议

1)适合自己的图书才是最好的,最好的书并不一定适合你,看自己的情况.(如果你是一个Java初学者一上手就捧一本Thinking in Java在手里,我想你的日子是不会好过的,那样的书给有一定基础的人看的,当工具书使用的,当然有一定基础后,可以跟着上边流程学,如果你能学下来,那么你的基础就不用说了) 2)看书要用心,多动脑,实践很重要,要抱着怀疑的态度看书.(再好的书也可能会出现错误,人非圣人吗!多练这个很重要,如果你光看不练,我想你年过几天会就会忘的差不多了!) 3)遇到问题多查帮助文档,还可

Java泛型的一点用法(转)

1.一个优秀的泛型,建议不要这样写public static <K, V> Map<K, V> getMap(String source, String firstSplit, String secondSplit) 建议可以这样写public static <K, V> Map<K, V> getMap(List<K> keys, List<V> values)或类似public class MapItem<K, V>{

Java门店管理系统 客户资料档案管理 库存管理 进销存 SSM项目源码

系统介绍: 1.系统采用主流的 SSM 框架 jsp JSTL bootstrap html5 (PC浏览器使用) 2.springmvc +spring4.3.7+ mybaits3.3  SSM 普通java web(非maven, 附赠pom.xml文件)  数据库:mysql 3.开发工具:myeclipse  eclipse idea 均可, 没有限制. 我这边myeclipse 2014 导出来的项目源码 ---------------------------------------

java收藏的技术资料链接

TCP三次握手详解: https://blog.csdn.net/baiyan3212/article/details/81302448 ICE通信: https://blog.csdn.net/zhu2695/article/details/51494664 java内存模型: https://www.cnblogs.com/dolphin0520/p/3920373.html netty心跳机制: https://blog.csdn.net/u013967175/article/detail

Java反射的一点简单理解

最近才开始学Java,这两天接触了框架后对于反射的概念有很大的困惑,在网上检索了很多信息后发现大多都是在说反射怎么使用的.将反射的原理以及为什么需要反射的比较少,即使有讲很多都比较晦涩难懂. 参考: 学习java应该如何理解反射? - 罗大然不写代码的回答 - 知乎) 后来终于找到了一篇知乎回答讲反射的作用的,我觉得讲得很好,加上一些个人的些微见解记录下来. 简单的水果工厂 这位答主用了一个简单的工厂模式举例来说明反射的作用: // Fruit接口 public interface Fruit