2013-10-21 54 views
1

我試圖用拍擊創建一個即時聊天的房間,但服務器返回了我的智商包錯誤代碼401和TYPE =「AUTH」和具有消息的消息包的房間從進入鎖定狀態,直到配置被確認未授權的錯誤,同時創造一個MultiUserChat房間

final MultiUserChat muc = new MultiUserChat(connection, chatName+"@conference.123"); 
try { 
    muc.sendConfigurationForm(new Form(Form.TYPE_SUBMIT)); 
    muc.create(chatName); 
    } catch (XMPPException e) { 
     Log.e("Exception", e.getMessage()); 
    } 

這給出了一個例外(未授權(401))。 以下是從服務器接收到的兩個包:

<iq id="J1O5y-5" to="[email protected]/Smack" from="[email protected]" type="error"><error code="401" type="AUTH"><not-authorized xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"/></error></iq> 

<message to="[email protected]/Smack" from="[email protected]" type="groupchat"><body>This room is locked from entry until configuration is confirmed.</body></message> 

那麼,有沒有在服務器配置,我需要或有任何問題,在代碼中的任何改變?

回答

0

如何改變如下順序:

muc.create(nickName); 
muc.sendConfigurationForm(new Form(Form.TYPE_SUBMIT)); 

希望這將有助於:)

0

它爲我工作。請試試這個。

public void createRoom(String r,String n) throws XMPPException { 
    // TODO Auto-generated method stub 
    String t = r + "@conference.localhost"; 

    MultiUserChat muc = new MultiUserChat(connection, t); 

    muc.create(n); 

    muc.sendConfigurationForm(new Form(Form.TYPE_SUBMIT)); 

}