2012-11-26 28 views
0

我有以下設置:閒聊 - 創造空間

  • 在CentOS 6服務器
  • XMPP服務器(使用ejabber)
  • 瀏覽器客戶端(用於糖果,聊天)
  • 聊天是工作,用戶有權限等

我需要做的是創建一個房間,當用戶X想要。如果用戶使用獨立客戶端(比如Pidgin),一切正常,但我需要使用基於瀏覽器的客戶端創建一個房間。

問題是我該怎麼做?

注意:試圖找到支持該功能的客戶端 - 失敗。

注2:如果我可以從服務器命令行(shell腳本)執行它,那是可以的,因爲我可以將ajax請求發送到運行該行的php腳本。 - 我試着用ejabberdctl來做這個,但是我找不到任何這樣做的函數(找到9999個關於用戶,服務器等的函數,但是沒有關於房間的信息。我想我必須編輯mod_muc選項然後重新啓動服務器, m不確定,不適合所有用戶重新啓動服務器)。

謝謝你的時間。

+0

它更好地添加php標記。 –

+0

好的...增加了...它有一些遠程連接到PHP,雖然不完全是一個PHP的問題。 – zozo

回答

2

參見http://xmpp.org/extensions/xep-0045.html#createroom

XEP-0045中定義的XMPP多用戶聊天協議。您不需要使用命令行或任何其他帶外通信,該協議已經在用戶XMPP會話中定義並工作在帶內。這是任何支持聊天室的Jabber客戶端實現的。

請注意,協議本身很長,很複雜,並且有很多選項和替代方法(配置房間參數,從屬關係,執行管理工作等),但是您不必全部使用它們,請參閱示例153 ,只是

<presence from='[email protected]/desktop'to='[email protected]/firstwitch'> 
    <x xmlns='http://jabber.org/protocol/muc'/> 
</presence> 

將足以創造房間「coven」。在那之後,用戶「crone1」將成爲該房間的所有者,並且將以缺口「第一首」登錄到房間中。

+0

聽起來像我所需要的。 – zozo