Frage

Ich arbeite an einer iOS-App, die den XMPPFRAMEwork und den OpenFire XMPP-Server verwendet.Ich bin fast fertig, aber ich bin festgefahren, als ich meine IOs bekam, um die IQ-Anfrage zu erhalten.Ich konnte Nachrichten empfangen und IQ-Anforderung senden, erhalten jedoch keine IQ-Anfragen.

Ich habe versucht, die IQ-Anfrage von iOS-Client und dem XMPP-Server zu senden, aber die iOS-App ignorierte die IQ-Anforderung.Nach langer Zeit der Forschung nahm ich mein Problem nieder.Es stellt sich heraus, dass ich IQ-Anfrage an den nackten Jid sendet.Der blanke JID wurde auf dem Server geleitet und nicht direkt an den Client.

Die Lösung, die ich gefunden habe, war, den vollständigen Jid zu erhalten, und setzen Sie die "in" IQ-Nachricht "an den vollen Jid und nicht den nackten Jid.Ich habe Schwierigkeiten, herauszufinden, wie ich die Ressource erhalten kann, oder machen Sie den nackten Jid an einen vollen Jid.

Könnte mir bitte ein paar Vorschläge geben?Ich möchte in der Lage sein, den vollen Jid zu erhalten, damit ich IQ-Anfrage an meinen IOS-Client senden kann.

War es hilfreich?

Lösung

Abonnieren Sie die Anwesenheit der Person, die Sie den IQ senden möchten, an: generasacodicetagpre.

Sie müssen Ihr Abonnement akzeptieren: generasacodicetagpre.

Sie werden dann anfangen, Präsenz zu erhalten, in der der vollständige JID aus allen Kunden umfasst: generasacodicetagpre.

Wenn sie einen voll ausgestatteten Client haben, senden sie Ihnen auf der Präsenz mit xep-0115, so dass Sie also angeben, ob ihr Client Ihr IQ-Protokoll unterstützt, bevor Sie ihn an sie senden: generasacodicetagpre.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top