搜尋套件、儲存庫與 APP 分類

套件詳情v0.3.3

xmpp_stone

Xmpp Stone 是一個完全使用 Dart 編寫的輕量級 XMPP 客戶端程式庫。

近 30 天下載
409
喜歡數
72
Pub 分數
40

安裝套件

flutter pub add xmpp_stone

套件介紹

根據套件公開資料產生的選型評估,僅供參考。

Xmpp Stone 是一個完全使用 Dart 編寫的輕量級 XMPP 客戶端程式庫,專為 Flutter 應用中的即時通訊而設計。它能無縫整合 XMPP(可擴展訊息與狀態協定)功能,支援即時訊息、狀態更新及即時資料交換。此程式庫非常適合尋求高效、跨平台即時通訊且無沉重依賴的開發者。憑藉其乾淨的 API 與對效能的關注,它簡化了應用程式中聊天與協作功能的實作。原始碼公開於 GitHub,以確保透明度與可客製化。

適用情境

  • 即時訊息應用
  • 存在性和狀態追蹤
  • 基於聊天的協作工具
  • 物聯網裝置通訊
  • 跨平台聊天整合

主要特色

  • 輕便且快速
  • 純 Dart 實現
  • 支援 XMPP 協議
  • 與 Flutter 的輕鬆整合
  • 開源且可擴展

適合對象

  • 開發聊天應用的開發者
  • 需要即時同步的團隊
  • 需要 XMPP 支援的專案
  • Flutter 應用程式需要低延遲
  • 自訂即時通訊解決方案

使用建議

  • 有限的文件
  • 無官方維護狀態
  • 需要 XMPP 伺服器設定
  • 不適合複雜的消息工作流程
  • 依賴外部XMPP伺服器基礎設施

原始 README

以下為關聯原始碼儲存庫的 README 原文快照,最新內容請造訪原始碼儲存庫。

XmppStone

Lightweight XMPP client library written completely in Dart. My intention is to write simple to use library for future XMPP client based on Flutter.

Supported documents:

  • RFC6120: Extensible Messaging and Presence Protocol (XMPP): Core
  • RFC6121: Extensible Messaging and Presence Protocol (XMPP): Instant Messaging and Presence
  • XEP-0198: Stream Management
  • XEP-0085: Chat State Notifications
  • XEP-0318: Best Practices for Client Initiated Presence Probes
  • XEP-0280: Message Carbons

Partly supported:

  • XEP-0030: Service Discovery
  • XEP-0313: Message Archive Management

Actively working on:

  • XEP-0059: Result Set Management
  • XEP-0004: Data Forms

Latest news

  • 2020-10-30: Added support for XEP-0280: Message Carbons
  • 2020-10-30: Added initial support for XEP-0313: Message Archive Management
  • 2020-10-30: Added logging mechanism
  • 2020-07-23: Added support for XEP-0318: Best Practices for Client Initiated Presence Probes
  • 2020-05-02: Added initial support for XEP-0198 : Stream Management
  • 2020-05-02: Added initial support for XEP-0085 : Chat State Notifications
  • 2019-04-02: added support for: XEP-0054: vcard-temp
  • 2019-04-01: added support for SHA-1 and SHA-256 authentication algorithm

Usage

import 'package:xmpp_stone/xmpp_stone.dart' as xmpp;

main() {
  xmpp.Connection connection = new xmpp.Connection("user@domain", "password", 5222);
  connection.open();
}

Features

1. Logging
Log level

Client can set logging level of the library with command:

Log.logLevel = LogLevel.VERBOSE;
XMPP traffic logging

Xmpp traffic can be enabled or disabled with:

Log.logXmpp = false
2. Message Archive Management

Feature is work in progress, API is subject to change.

Initial implementation of Message Archive Management.

RST is not yet implemented.

Usage:

  • Grabbing the module
connection.getMamModule()
  • Querying all messages:
mamManager.queryAll();
  • Querying messages based on date (All parameters are optional):
mamManager.queryByTime(start: startTime, end: endTime, jid: buddyJid);
  • Querying messages based on messageId (All parameters are optional): This method requires urn:xmpp:mam:2#extended to be supported by the serve, soon it will be available to check feature support.
mamManager.queryById(beforeId: beforeId, afterId: afterId, jid: buddyJid});

Checking capabilities of the server:

mamManager.isQueryByDateSupported
mamManager.isQueryByIdSupported
mamManager.isQueryByJidSupported

所屬分類

依賴

依賴清單 10 項

原始碼儲存庫

使用此套件的專案

暫無相關資料。