2

在 ejabberd.cfg 我有以下

{host_config, "thisislove-MacBook-2.local", [{auth_method, [internal, anonymous]},
                          {allow_multiple_connections, false},
                          {anonymous_protocol, both}]}.

但是当使用 speeqe javascript 客户端 (speeqe.com) 连接时,我看到它发送

<body rid='1366284187' xmlns='http://jabber.org/protocol/httpbind' to='thisislove-macbook-2.local' xml:lang='en' wait='60' hold='1' window='5' content='text/xml; charset=utf-8' ver='1.6' xmpp:version='1.0' xmlns:xmpp='urn:xmpp:xbosh'/>

并且服务器响应

<body xmlns='http://jabber.org/protocol/httpbind' sid='f89bf034b02fa6b884bb0c55be3f1f69e45e3866' wait='60' requests='2' inactivity='30' maxpause='120' polling='2' ver='1.8' from='thisislove-macbook-2.local' secure='true' authid='353072658' xmlns:xmpp='urn:xmpp:xbosh' xmlns:stream='http://etherx.jabber.org/streams' xmpp:version='1.0'><stream:features xmlns:stream='http://etherx.jabber.org/streams'><mechanisms xmlns='urn:ietf:params:xml:ns:xmpp-sasl'><mechanism>DIGEST-MD5</mechanism><mechanism>PLAIN</mechanism></mechanisms><register xmlns='http://jabber.org/features/iq-register'/></stream:features></body>

注意机制,DIGEST-MD5 & PLAIN。如果我没记错的话,它也应该有 ANONYMOUS 作为一种机制。所以发生的事情是 speeqe 只是终止了连接。

因此,我想我一定在匿名配置或 muc 配置中遗漏了一些东西。在 mod_muc 配置中,我有

{mod_muc,      [
      %%{host, "conference.@HOST@"},
      {access, muc},
      {access_create, muc},
      {access_persistent, muc},
      {access_admin, muc_admin},
      {max_room_name, 190},
      {max_room_desc, 190},
      {max_users, 500}
     ]}

那么我错过了什么?

谢谢

4

1 回答 1

3

这可能对将来的某人有所帮助,所以这就是正在发生的事情。我有

{auth_method, internal}. 

代替

{auth_method, [internal, anonymous]}.

我也有

{access, muc_create, [{allow, local}]}.

代替

{access, muc_create, [{allow, all}]}.

最后,speeqe 的 local_settings.js 中的房间名称也必须有聊天服务器:alpha@conference.domain.com(而不是 alpha@domain.com)。

于 2010-04-19T14:40:45.650 回答