4

グループチャット機能も備えたチャットクライアントにejabberd XMPPサーバーを使用しています。私の問題は、新しいユーザーがグループ ルームに参加すると、history_size が (今のところ) 200 に設定されているにもかかわらず、ルームから最初の 20 件のメッセージしか取得できないことです。クライアント側では、新しいユーザーがルームに参加すると、プレゼンス スタンザに履歴要素が含まれ、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