4

我正在使用 ejabberd XMPP 服务器作为聊天客户端,它还具有群聊功能。我的问题是,当一个新用户加入一个群组房间时,他只能从房间里收到前 20 条消息,尽管 history_size 设置为 200(现在)。在客户端,当一个新用户加入房间时,presence 节包含历史元素,询问 1970 年之后发送的消息。服务器时间是 2014 年,所以理论上它应该发送所有消息,或者至少 200 条。

ejabberd.cfg muc 片段:

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

发送到加入房间的 XMPP 节:

<presence
    from='someusername@host'
    id='someid'
    to='somegroup@ccc.host/somenickname'>
  <x xmlns='http://jabber.org/protocol/muc'>
    <history since='1970-01-01T00:00:00Z'/>
  </x>
</presence>
4

0 回答 0