2011-08-01 10 views
0

からメッセージを送信:私はgen_serverするには、この名前を送信したい例えばEjabberdは私のコードでは、私はフックハンドラを持っているフック

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

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

を、私は名前を持つこのフックから例えばgen_serverにメッセージを送信することができますか? on_registerの中のgen_serverのPIDをどのように知ることができますか?

ありがとうございます。

答えて

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. 
関連する問題