还是从会话管理说起 上一章,Session经过预创建、认证之后,才正常可用。认证时,最重要的操作,就是将Session加入到路由表,使之拥用了通信功能。 添加到至路由表的操作,是在SessionManager中操作的,如下: SessionManager.addSession(LocalClient ...
分类:
其他好文 时间:
2017-10-14 18:45:26
阅读次数:
339
一. 前言: WebSocket协议是基于TCP的一种新的网络协议。它实现了浏览器与服务器全双工(full-duplex)通信——可以通俗的解释为服务器主动发送信息给客户端。 区别于MQTT、XMPP等聊天的应用层协议,它是一个传输通讯协议。它有着自己一套连接握手,以及数据传输的规范。 关于WebS ...
分类:
Web程序 时间:
2017-10-09 16:51:33
阅读次数:
241
目前业界有很多MQ产品,我们作如下对比: RabbitMQ 是使用Erlang编写的一个开源的消息队列,本身支持很多的协议:AMQP,XMPP, SMTP, STOMP,也正是如此,使的它变的非常重量级,更适合于企业级的开发。同时实现了一个经纪人(Broker)构架,这意味着消息在发送给客户端时先在 ...
分类:
其他好文 时间:
2017-09-22 10:04:02
阅读次数:
109
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://ovcer.blog.51cto.com/1145188/1581326 [root@openfire-x86v-app01 ~]# tsung -f jabber_register ...
分类:
其他好文 时间:
2017-09-15 13:51:34
阅读次数:
273
openFire下载地址http://www.igniterealtime.org/downloads/index.jsp#openfire 如果有UAC保护的话,需要右键以管理员方式启动openfire.exe,否则报错。 主要遇到的难点是MySQL的数据库配置,网上没有系统的配置方法,登陆htt ...
分类:
数据库 时间:
2017-09-14 18:36:15
阅读次数:
221
方法一: openfire默认编译时,是同时编译主程序和所有在plugins目录中的插件。但进行插件开发时,这样编译就太费时费力。使用ant plugins可以只编译插件,能够节省部分时间。最节省时间的编译方法为在命令行下使用ant plugin -Dplugin=xxx进行编译,其中,xxx为插件 ...
分类:
其他好文 时间:
2017-09-12 12:10:30
阅读次数:
157
RabbitMQRabbitMQ是使用Erlang编写的一个开源的消息队列,本身支持很多的协议:AMQP,XMPP, SMTP, STOMP,也正因如此,它非常重量级,更适合于企业级的开发。同时实现了Broker构架,这意味着消息在发送给客户端时先在中心队列排队。对路由,负载均衡或者数据持久化都有很 ...
分类:
其他好文 时间:
2017-09-04 20:40:59
阅读次数:
189
前言 openfire是一个聊天服务端,好比qq服务端.本质是个socker server. openfire通讯协议是 xmpp ,什么是xmpp参考百科 https://baike.baidu.com/item/XMPP/3430617?fr=aladdin openfire项目三部分 1.服务 ...
分类:
编程语言 时间:
2017-09-03 15:39:52
阅读次数:
336
Openfire是怎么实现连接请求的? XMPPServer.start()方法,完成Openfire的启动。但是,XMPPServer.start()方法中,并没有提及如何监听端口,那么Openfire是如何接收客户端的请求? 因为Openfire的核心功能,是通过Module来管理的,那么对应的 ...
分类:
其他好文 时间:
2017-09-02 20:50:16
阅读次数:
293