Not logged in. · Lost password · Register
Forum: MatriX RSS
Avatar
MatriX_User_JS #1
Member since Jun 2015 · 2 posts
Group memberships: Members
Show profile · Link to this post
Subject: Reciept vom Openfire Server bekommen?
Hi,

ich kenne nun "XEP-0184: Message Delivery Receipts"

Ich sende mit send(msg) eine Message und bekomme das Reciept zurück. Soweit so gut.

Wie überprüfe ich nun den Status, ob der Openfire Jabber Server die Message erhalten hat?

Kann ich einfach davon ausgehen sobald die send(...) Funktion keine Exception wirft?

Danke
Avatar
Alex #2
Member since Feb 2003 · 4295 posts · Location: Germany
Group memberships: Administrators, Members
Show profile · Link to this post
bitte in English posten hier

Quote by MatriX_User_JS:
Wie überprüfe ich nun den Status, ob der Openfire Jabber Server die Message erhalten hat?

das ist ja genau was die receipts lösen. Eine End zu End Benachrichtigung ob die Nachricht zugestellt wurde.
Eine nachricht kann an vielen Stellen verloren gehen, daher bringt es in den meisten Fällen nichts wenn ich weiß dass Sie  meinen Socket verlassen hat.
MatriX is komplett asynchron, d.h. wenn Send keine Exception liefert sagt dies noch nichts aus. Es gibt ein OnStanzaSent event welches zurückliefert wenn ein Stanza erfolgreich an den Server geschickt wurde.

Wenn man eine Benachrichtigung vom Server will kan nman folgende Extensions nutzen:
Avatar
MatriX_User_JS #3
Member since Jun 2015 · 2 posts
Group memberships: Members
Show profile · Link to this post
Danke!

Wo ist der Unterschied,

a) ob ich das OnStanza Event nutze und mir speichere, dass die Msg erfolgreich beim Server angekommen ist ODER
b) eine Extension nutze und direkt eine Benachrichtigung zurückbekomme?

Wäre hilfreich fürs Gesamtverständnis, danke
Avatar
Alex #4
Member since Feb 2003 · 4295 posts · Location: Germany
Group memberships: Administrators, Members
Show profile · Link to this post
das OnStanzaSent event basiert auf dem TCP-IP socket. Es sagt nur aus dass ein Paket den Socket von MatriX erfolgreich verlassen hat. Aber nicht ob es den Empfänger erreicht hat, und ob dieser das Paket erfolgreich verarbeitet hat.

Eine Nachricht an an vielen Stellen verloren gehen. Wenn Sie MatriX verlassen hat dann weiß ich nicht Sie vom Server erfolgreich verarbeitet wurde, oder ob Sie den Empfänger erreicht hat.

Es hängt also davon ab welche Anforderungen man in seiner Software hat, und auf welcher Schicht man es implementieren muss oder möchte. Mit Erweiterungen auf Protokollebene ist man auf einer einer anderen Schicht als im MatriX Core mit dem Socket.
Avatar
tissa #5
Member since Jun 2016 · 1 post
Group memberships: Members
Show profile · Link to this post
Haben Sie bitte Alex ein klein Beispiel ?  wie man diese Extensions nutzen  kann .
Avatar
Alex #6
Member since Feb 2003 · 4295 posts · Location: Germany
Group memberships: Administrators, Members
Show profile · Link to this post
Please use the forums search, there are some samples already here in the forums.

Alex
Close Smaller – Larger + Reply to this post:
Verification code: VeriCode Please enter the word from the image into the text field below. (Type the letters only, lower case is okay.)
Smileys: :-) ;-) :-D :-p :blush: :cool: :rolleyes: :huh: :-/ <_< :-( :'( :#: :scared: 8-( :nuts: :-O
Special characters:
Forum: MatriX RSS