ikpil / UniNetty

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

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.


GitHub License Languages GitHub repo size GitHub Repo stars GitHub Actions Workflow Status GitHub commit activity GitHub issues GitHub closed issues GitHub Sponsors


πŸš€ 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

...

About

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

License:MIT License


Languages

Language:C# 100.0%