2011-08-01 186 views
0

发送短信我有钩子处理程序在我的代码:Ejabberd从挂钩

ejabberd_hooks:add(sm_register_connection_hook, "localhost", ?MODULE, on_register, 80), 

on_register(SID, JID, INFO) -> 
    {_, _, _, _, Name, _, _} = JID, 
    ok. 

例如我想送这个名字gen_server,我怎么能发送消息给从该挂钩与名称gen_server例如?我怎么知道gen_server的pid里面的on_register?

谢谢。

回答

0

on_register是?MODULE的基本模块功能。如果gen_server是单例服务器,则可以使用gen_server:call(?MODULE,{name,Name})或gen_server:cast(?MODULE,{name,Name})将名称发送给它。

那么结果会是这样的:

on_register(SID, JID, INFO) -> 
    {_, _, _, _, Name, _, _} = JID, 
    gen_server:call(?MODULE, {name, Name}), 
    ok.