UniNetty

UniNetty project - a port of DotNetty, an event-driven asynchronous network application framework

MIT License

Stars
7
Committers
1

UniNetty Project

UniNetty is a port of Azure/DotNetty, an asynchronous event-driven network framework designed for developing high-performance, maintainable protocol servers and clients, fully compatible with Unity3D.

If you'd like to support the project, we'd appreciate starring(⭐) our repos on Github for more visibility.



🚀 Features

  • Unity3D Compatibility : Integrate DotNetty's functionality into Unity projects, simplifying the implementation of networking features.
  • Unified API for various transport types : blocking and non-blocking socket
  • Flexible Event Model : Based on a flexible and extensible event model which allows clear separation of concerns
  • Highly Customizable Thread Model : single thread, one or more thread pools such as SEDA
  • Datagram Socket : True connectionless datagram socket support

UniNetty is divided into multiple modules, each contained in its own folder:

  • UniNetty.Logging : Logging framework used internally by UniNetty
  • UniNetty.Common : Provides utility functions and common components for asynchronous and concurrent operations.
  • UniNetty.Buffers : Manages efficient memory allocation and deallocation for network data buffers.
  • UniNetty.Transport : Implements core TCP and UDP transport functionalities with scalable event loop support.
  • UniNetty.Codecs : Handles encoding and decoding of data across network channels.
  • UniNetty.Codecs.Http : Supports HTTP/1.1 and handles full HTTP request/response lifecycle.
  • UniNetty.Codecs.Mqtt : Implements MQTT protocol for IoT communication with efficient message handling.
  • UniNetty.Codecs.Protobuf : Facilitates Protocol Buffers serialization and deserialization for compact binary communication.
  • UniNetty.Codecs.Redis : Implements Redis protocol for building Redis-compatible servers or clients.
  • UniNetty.Handlers : Includes handlers for SSL/TLS, WebSocket, and other essential network features.
  • Tests : Unit tests
  • Examples : Examples of usage

⚡ Getting Started

...

⚙ How it Works

...

📚 Documentation & Links

🅾 License

UniNetty is licensed under MIT license, see LICENSE.txt for more information.

📹 Demo Video

...