Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/nathan130200/xmppsharp
Lightweight XMPP library inspired in classic AgsXMPP library with many improvements and modern .NET
https://github.com/nathan130200/xmppsharp
Last synced: about 2 months ago
JSON representation
Lightweight XMPP library inspired in classic AgsXMPP library with many improvements and modern .NET
- Host: GitHub
- URL: https://github.com/nathan130200/xmppsharp
- Owner: nathan130200
- License: mit
- Created: 2022-12-19T02:06:48.000Z (about 2 years ago)
- Default Branch: master
- Last Pushed: 2024-09-01T22:58:47.000Z (4 months ago)
- Last Synced: 2024-11-06T18:08:43.944Z (about 2 months ago)
- Language: C#
- Homepage:
- Size: 520 KB
- Stars: 4
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# XMPP#
A manipulation library and utility with the main objective to reduce the level of unnecessary verbosity for constructing XML tags for XMPP protocol.
[![nuget](https://img.shields.io/badge/XmppSharp-1?style=plastic&logo=nuget&label=NuGet&color=blue)](https://www.nuget.org/packages/XmppSharp/)
### XMPP Parser
Going back to the roots of .NET in **XMPP#** we use `XmlReader` as an XMPP interpreter, it works perfectly, we are able to apply encryption and compression to the network streams and underlying streams, and it validates/encodes the values in the well-formed XML rules.
### Element Factory
We have the Element Factory, a class where you can register all XML elements mapped to the respective classes, and thus, when reading the XML, the parser will convert it to the desired element.
An example of this, when receiving the stanzas `iq`, `message` or `presence` they will be automatically converted and treated as `XmppSharp.Protocol.Iq`, `XmppSharp.Protocol.Message` or `XmppSharp.Protocol.Presence` making it easier to reading the code and implementing new features.
You can also implement a parser that meets your project requirements and also invoke Element Factory to create the elements, which will return the instance of the correct element type.
### Element Types
Check in [wiki](https://github.com/nathan130200/XmppSharp/wiki/Custom-Element-Type) for a basic tutorial how to declare custom elements in **XMPP#**.