tigase深入理解xmpp服务器-源码总览

在Tigase栏目的第一篇中,有基于Iintellij IDEA搭建tigase源码环境的教程,本篇提供Tigase主线分析思路,细节方面建议读者自己使用IDEA进行研究

Tigase的启动入口,就是一个普通的类XMPPServer,组件从MessageRouter开始启动,ConnectionManager负责调度ConnectionOpenThread,SocketThread,这两个类是用NIO实现,负责监听端口,建立服务端与客户端连接,接受数据包。 SessionManager为tigase服务端存储数据。

XMPPServer.main()



Strat()中首先会加载两个组件分别为tigase.conf.Configurator,tigase.server.MessageRouter,所有的组件都是由MessageRouter加载,源码如下
MessageRouter.setConfig(config),主要任务就是加载服务所需要的其它组件,启动服务端socket,把组件按名字和对应的类型绑定到相关的变量里,为后面xmpp packet路由做准备;



// 执行子类ConfiguratorAbstract.componentAdded(组分); 进行组件设置,其实这就是组件启动的重要入口了

setup()设置组件的配置信息,一下为setup()中设置配置信息部分





MessageRouter.setProperties(),完成每个组件的初始化initializationCompleted()该方法把初始化得到的配置信息加入相关的处理队列中,来启动服务端SOCKET监听事件操作等。

猜你喜欢

转载自blog.csdn.net/weixin_39986856/article/details/81031999
今日推荐