패키지, 저장소 및 앱 카테고리 검색

GitHub 저장소vukoye/xmpp_dart

xmpp_dart

Dart로 작성된 가벼운 XMPP 클라이언트 라이브러리

xmpp_dart 프로젝트 이미지
스타
84
포크
67
최근 푸시(UTC)
2024. 9. 16.
프로젝트 상태
활성

원본 README

아래는 영문 원문 스냅샷입니다. 최신 내용은 GitHub에서 확인하세요.

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
Nemanja Vukoje GitHub avatar
GitHub 작성자

Nemanja Vukoje ↗

언어Dart

이 저장소가 배포한 패키지

사용 중인 의존성

의존성 목록 12 개

프로젝트에 맞는 저장소를 선택하려면?

사용 목적에 따라 검색하고 개발 활동을 비교한 뒤 원본 저장소에서 요구 사항을 확인하세요.

  1. 이름, 작성자 또는 설명으로 검색하고 기술 주제로 범위를 좁힙니다.
  2. 스타, 포크, 최근 푸시를 함께 비교하세요. 스타는 관심의 지표이며 품질을 보장하지 않습니다.
  3. 사용하기 전에 GitHub에서 README, 라이선스, Issues를 확인하세요.

출처 및 관리

“A repository is the most basic element of GitHub.”

GitHub Docs — About repositories ↗