Problem beim Erstellen von xmpp muc room: Code 503 (Dienst nicht verfügbar)

7

Mein Code zum Erstellen eines Raums:

%Vor%

Debuggen:

%Vor%

Ich sehe, dass es [email protected] erstellt / verbindet und nicht [email protected]/groupchat, wie ich es spezifiziert habe. Ich habe gelesen, dass dies wahrscheinlich das Problem ist. Allerdings habe ich für die volle jid angegeben, also bin ich verloren.

Vielen Dank im Voraus an alle, die helfen.

    
user1561639 03.08.2012, 07:14
quelle

1 Antwort

26

Sehen Sie sich zuerst XEP-0045: Chat für mehrere Benutzer an.
Wie Sie Sie müssen zuerst herausfinden, welche Funktionen Ihr Benutzer (XMPPJID) auf dem Jabber-Server hat. Um dies zu tun, senden Sie den nächsten Befehl an Ihren Jabber-Server:

%Vor%

oder geschrieben in Ziel-c mit XMPP-Bibliotheksfunktionen:

%Vor%

Hören Sie jetzt die Antwort vom Server im XMPPStream-Delegierten - (BOOL)xmppStream:(XMPPStream *)sender didReceiveIQ:(XMPPIQ *)iq ab, und die Serverantwort sollte ungefähr so ​​lauten:

%Vor%

oder Ziel c:

%Vor%

Nun senden Sie für jedes zurückgegebene Element IQ an Ihren Server, um dessen Eigenschaften herauszufinden und herauszufinden, welcher Typ der Konferenz ist, etwa so:

%Vor%

oder in Ziel c:

%Vor%

Achten Sie auf Antworten vom Server:

%Vor%

und nehmen Sie die Gruppenchat-Domain von der Identität mit category:conference

%Vor%

Schließlich, wenn wir eine Gruppenchat-Domain haben, können wir einen Chat-Raum erstellen, etwa so:

%Vor%

und fügen Sie das <XMPPRoomDelegate> -Protokoll in Ihrem View-Controller und seinen Delegaten hinzu:

%Vor%

Hinweis: Bevor Sie andere Benutzer zum Chat Room einladen, müssen Sie die Raumkonfigurationen senden und bestätigen (andere Benutzer können eingeladen werden, aber Nachrichten können nicht gesendet werden).
Sie können dies tun, nachdem Room erstellt wurde (delegate - (void)xmppRoomDidCreate:(XMPPRoom *)sender wird aufgerufen) oder Ihr Benutzer beigetreten ist (delegate - (void)xmppRoomDidJoin:(XMPPRoom *)sender wird aufgerufen), in den Chat-Raum.

Um die Zimmerkonfiguration zu senden und zu bestätigen, führen Sie einen der folgenden Schritte aus:

%Vor%

oder

%Vor%

Senden Sie nil , um Standardoptionen zu akzeptieren, oder senden Sie IQ mit folgender Syntax an Ihren Server:

%Vor%

oder objective c code:

%Vor%

und eine Liste aller möglichen Konfigurationsformularfelder ist hier

    
Sihad Begovic 05.02.2013 13:28
quelle

Tags und Links