[英]How does ejabberd handle message ordering and delivery?
根據https://datatracker.ietf.org/doc/rfc6120/?include_text=1和10.1。 有序處理如何確保名冊中所有項目的有序消息傳遞?
首先,由於 XMPP 使用 TCP 傳輸協議,它確保服務器以與客戶端發送數據相同的順序接收數據。
根據 TCP 文檔:
TCP 保證數據的傳遞,也保證數據包將按照發送時的相同順序傳遞
ejabbred 是一個 XMPP 服務器,通過 TCP 接收到的原始數據必須符合 XMPP 協議,並且與經過驗證的 XMPP 服務器相同。
在XMPP協議客戶端完成session發起、資源綁定、認證等操作后,就可以發送消息了。
這些消息按照客戶端發送消息和路由到其接收者的順序進行處理。 如果收件人離線,它會將相同的訂單推送並彈出到數據庫以供以后交付。
這里的訂購保證主要由 TCP 網絡堆棧來保證。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.