ejabberd
文章平均质量分 82
Y_jiuweiyinhu
这个作者很懒,什么都没留下…
展开
-
ejabberd分析(五)+订阅/添加好友
模块ejabberd_c2s中,状态为session_established2。用户发送iq set 消息到服务器Friends服务器端匹配到[plain] view plaincopyprint?case Name of ...... To = xml:get_attr_s("to", Attrs转载 2017-11-22 16:06:58 · 373 阅读 · 0 评论 -
ejabberd分析(二) 用户注册
ejabberd中由ejabberd_c2s处理:ejabberd_c2s模块启动后gen_fsm的状态位于wait_for_stream客户端发送[plain] view plaincopyprint? 服务器端wait_for_stream 函数中经过[plain] view plaincopyp转载 2017-11-22 15:49:00 · 344 阅读 · 0 评论 -
ejabberd分析(一)
ejabberd分析(一)1.客户端连接服务器,并发送消息给服务器的处理在ejabberd_c2s中。 ejabberd_c2s 是一个gen_fsm 状态机,在 ejabberd启动时装载。 初始状态为 wait_for_stream,接受形为 {xmlstreamstart, _Name, Attrs} 的消息,其他任何消息都会导致stop。转载 2017-11-22 15:45:34 · 484 阅读 · 0 评论 -
ejabberd源码分析《一》application启动
么都别说,直接看启动函数start(normal, _Args) %% ejabberd_logger主要是读取application的配置文件,然后启动lager,设置lager参数。 ejabberd_logger:start(), %% 将本进程的pid写入配置文件指定的文件名中 write_pid_fi转载 2017-11-22 15:21:55 · 262 阅读 · 0 评论 -
ejabberd分析(四) 用户登录
仍然看ejabberd_c2s 这个gen_fsm 模块。[plain] view plaincopyprint?RECV SENT SENT DIGEST-MD5 JIVE-SHAREDSECRET PLAIN转载 2017-11-22 15:50:33 · 541 阅读 · 0 评论