摘要: 启动流程Socket接口Socket通信使用Mina框架实现,是XMPP协议的处理入口,具体为:消息接收后由不同的节处理器处理:StanzaHandler基础消息类型,之后进行消息路由:最后通过路由表进行路由:Http接口Http接口用于Web端的管理以及Web客户端的通信,使用jetty实现。通过... 阅读全文
posted @ 2015-12-29 16:36 纪玉奇 阅读(1475) 评论(0) 推荐(0) 编辑
摘要: 服务器端新建空工程使用Eclipse新建名为openfire的空java工程。导入源代码这里使用的是openfire的openfire_src_3_10_3.zip源码。导入后将目录src/java设置为“Use as Source Folder”。配置类库将build/lib目录下的除了ant和s... 阅读全文
posted @ 2015-12-29 16:30 纪玉奇 阅读(434) 评论(0) 推荐(0) 编辑
摘要: 现决定使用Openfire作为服务端,Openfire采用Java开发,基于XMPP的实时开源协作服务器。单台可支持上万并发用户。Openfire体系结构Openfire体系由其提供的服务器端、客户端以及相应的开发库组成。Openfire通常我们所说的Openfire就是指Openfire服务端,现... 阅读全文
posted @ 2015-12-29 16:25 纪玉奇 阅读(620) 评论(0) 推荐(0) 编辑
摘要: 服务端服务器许可证操作系统是否支持任意客户端登录备注ejabberd开源Elang是支持虚拟主机和集群OpenfireApacheJava是TigaseGPLv3Java是支持虚拟主机和集群客户端Spark使用Java开发,具备跨平台性浏览器strophe.js 阅读全文
posted @ 2015-12-29 16:10 纪玉奇 阅读(585) 评论(0) 推荐(0) 编辑
摘要: Presence在XMPP协议中,我们使用presence来获取用户是否已经上线以及是否可以通信的状态。为了能够知道自己联系人的状态以及让联系人知道自己的状态,用户上线后需要订阅联系人的状态,联系人也同样需要订阅用户的状态。通过下面的消息订阅联系人的状态:当联系人接收/拒绝订阅时,会发送消息的消息体... 阅读全文
posted @ 2015-12-29 16:08 纪玉奇 阅读(1177) 评论(0) 推荐(0) 编辑
摘要: XMPP与HTTP的比较XMPP的优势Ÿ 1. 推送数据 HTTP只能从服务器哪里请求数据,除非服务器正在响应客户端请求,否则不能向客户端发送数据。但XMPP连接是双向的,任何一方在任何时候都可以向另外一方发送数据,只要连接是打开状态。Ÿ 2. 防火墙友好 XMPP对防火墙和NAT友好,... 阅读全文
posted @ 2015-12-29 15:56 纪玉奇 阅读(677) 评论(0) 推荐(0) 编辑
摘要: XMPP详解XMPP(eXtensible Messaging and Presence Protocol,可扩展消息处理和现场协议)是一种在两个地点间传递小型结构化数据的协议。在此基础上,XMPP协议已经被用来构建大规模即时通信系统、游戏平台、协作空间及语音和视频会议系统。XMPP由几个小的构造块... 阅读全文
posted @ 2015-12-29 15:50 纪玉奇 阅读(2917) 评论(0) 推荐(0) 编辑
摘要: 相关背景IM(Instant Messaging)正在被广泛使用,特别是公司与它们的客户互动连接方案以及互联网与Web2.0相关的应用。为了解决即时通信的标准问题,IETF(互联网工程任务组 The Internet Engineering Task Force)成立了专门的小组、研究和开发IM相关... 阅读全文
posted @ 2015-12-29 15:45 纪玉奇 阅读(1035) 评论(0) 推荐(0) 编辑