Erlang ejabberd中的get_conn_类型函数是什么
我有ejabberd 13.12,在我将服务器移动到另一个网络之前,一切都很好,然后jabber服务器开始崩溃。(与网络类型和细节相同)Erlang ejabberd中的get_conn_类型函数是什么,erlang,ejabberd,Erlang,Ejabberd,我有ejabberd 13.12,在我将服务器移动到另一个网络之前,一切都很好,然后jabber服务器开始崩溃。(与网络类型和细节相同) 0邻居的崩溃报告进程退出,原因是:调用未定义函数 ejabberd_套接字:在p1_fsm:terminate/7行733中获取连接类型({socket_state,gen_tcp,#Port,}) 2014-01-23 09:34:42.548[错误]主管ejabberd_c2s_sup的孩子未定义从 {ejabberd_c2s,start_link,und
0邻居的崩溃报告进程退出,原因是:调用未定义函数
ejabberd_套接字:在p1_fsm:terminate/7行733中获取连接类型({socket_state,gen_tcp,#Port,})
2014-01-23 09:34:42.548[错误]主管ejabberd_c2s_sup的孩子未定义从
{ejabberd_c2s,start_link,undefined}在出口处调用undefined函数
ejabberd_套接字:获取上下文子元素中的连接类型({socket_state,gen_tcp,#Port,})
机器迁移后,用户的状态被随机更改
我尝试重新安装jabber服务器,并使用从头编译的ejabberd 2.1.13,这给了我使用jabber时相同的错误
功能是:
get_conn_type(StateData) ->
case (StateData#state.sockmod):get_sockmod(StateData#state.socket) of
gen_tcp -> c2s;
p1_tls -> c2s_tls;
ezlib ->
case ezlib:get_sockmod((StateData#state.socket)#socket_state.socket) of
gen_tcp -> c2s_compressed;
p1_tls -> c2s_compressed_tls
end;
ejabberd_http_poll -> http_poll;
ejabberd_http_bind -> http_bind;
_ -> unknown
end.
您看到的错误消息表明,
ejabberd\u套接字
模块中不存在get\u conn\u type
函数。这是真的;在标准ejabberd发行版中,get_conn_type
位于ejabberd_c2s
模块中
如果您确定您和其他任何人都没有修改源代码,那么我将检查您的Erlang安装。可能是它坏了,或者您正在使用不同的版本编译和运行代码。谢谢,我看到了“调用未定义函数”,但编译没有错误,从包中安装了另一个ejabberd也没有错误-两个版本都不同,并且给我相同的错误。非常奇怪。尝试删除Erlang并重新安装它。这就是我所能想到的——由于坏的.beam文件的内存损坏,您可能会收到无用的错误消息。