我目前使用rabbit_client从ejabberd发送队列消息。此消息是使用ejabberd挂钩触发的。可以成功编译和安装,没有任何问题。
当尝试创建连接时,我继续得到相同的错误。如果有人能在这件事上给出一些线索,我很感激。
下面是连接和发布消息的代码。
{ok, Connection} =
amqp_connection:start(#amqp_params_network{host = "192.168.xx.xx", username = "username", password= "password"}),
{ok, Channel} = amqp_connection:open_channel(Connection),
amqp_channel:call(Channel, #'queue.declare'{queue = <<"hello">>}),
amqp_channel:cast(Channel,
#'basic.publish'{
exchange = <<"">>,
routing_key = <<"hello">>},
#amqp_msg{payload = <<"Hello World!">>}),
io:format(" [x] Sent 'Hello World!'~n"),
ok = amqp_channel:close(Channel),
ok = amqp_connection:close(Connection),
ok.误差
{undef,[{amqp_connection,start,[{amqp_params_network,"username","password",<<“/>>,"192.168.xx.xx",未定义,0,0,10,无穷大,无,#192.168.xx.xx,[],[]}],[]},{mod_mymod,send_internal_notice,4,{file,”src/mod_my.erl“},{line,67}},{ejabberd_hooks,safe_apply,3,{file,"src/ejabberd_hooks.erl"},{line,382},{ejabberd_hooks,382 1,3,{file,"src/ejabberd_hooks.erl"},{line,329},{ejabberd_c2s,presence_update,3,{file,"src/ejabberd_c2s.erl"},{line,2068},{ejabberd_c2s,session_established2,2,{file,"src/ejabberd_c2s.erl"},{p1_fsm,handle_msg,10,{file,"src/p1_fsm.erl"},{line,582},{proc_lib,init_p_do_apply,3,{file,"proc_lib.erl"},{line,247}}]
发布于 2016-09-06 11:02:42
{undef,[{amqp_connection,start,...意味着没有定义amqp_connection:start/1函数(undef)。这通常意味着amqp_connection模块不在Erlang代码路径中。
https://stackoverflow.com/questions/39347201
复制相似问题