moudle

ejabberd moudle 开发

一笑奈何 提交于 2019-12-06 18:31:50
参考: http://anders.conbere.org/journal/ http://www.process-one.net/en/wiki/ejabberd_module_development/ ejabberd的内部的很多模块都是以插件的形式工作,这样我们也可以开发自己的模块融合到ejabberd中去,完成各种各样我们独特的需求。 ejabberd定义了一个gen_mod behaviour,其要求下面的callback: Erlang代码 start(Host, Opts) -> ok stop(Host) -> ok * Host = string() * Opts = [{Name, Value}] * Name = Value = string() 其中Host是运行这module的一个虚拟的主机。 Opts是在配置中指定的mod的参数(后面会讲到),可以通过gen_mod:get_module_opt/4获取(参看gen_mod.erl代码得知这些信息存储在ets中)。 我们要实现一个mod非常容易,就非常容易了: Erlang代码 -module(my_module). -author( 'your@mail.com' ). -behaviour(gen_mod). -include( 'ejabberd.hrl' ). %% gen_mod