/Netly

Netly is a low-level socket library whose main function is to make socket usage easier, readable and productive.

Primary LanguageC#MIT LicenseMIT

Kezero Netly

Abount

Netly is a low-level socket library whose main function is to make socket usage easier, readable and productive. Its syntax is minimalistic and inspired by socket.io. It supports using TCP/UDP and Client/Server. The reason for the emergence was aimed at building a multiplayer game server.


Documentation

Official documentation

  • Reference documentation generated from source code using the DocFx tool: See here.

  • Documentation based on sample projects, hosted on Gitbook tool: See here.

Overview


Package manager

This library can be found in some package managers, see below


Platforms

Build Platforms (RUNTIME)

Note

Netly is a native script and runs on all .NET C# projects (e.g: Console Application, Xamarin) or projects that contain dotnet C# as a script (e.g: Game Engine), as described below some of the famous platforms that netly can be used.

Attention

Despite running on platforms with C# as base or scripting language, it can be installed in different ways, e.g:

  • In Unity Engine (we can just add the dlls already compiled in a directory in the unity project and it will already be installed);
  • In the Console Application (We can add the dlls link as a project reference in the .csproj file and it will also be already there)
  • Nuget (We can also use the dotnet package manager "Nuget" to be able to add/install it in our project. It is the most recommended if possible)

Summary

We saw that we can install it in several places, but the installation can vary a lot from platform, but after the installation the usability is the same (Simple, Minimalist, and Robust).

Platform List


Last version

Below are some of the highlighted feature added in the current version

  • TCP client/server working fine.
  • Creating (dic) to pack and unpack data easily.
  • UDP client/server creation worked, but not finished.

Currently missing feature

Below are some missing features that are planned to be added in later versions.

  • [TCP Client/Server] Support SSL/TLS encryption.
  • [TCP Client] Add auto-reconnect and reconnect timeout
  • [UDP client/server] Detect disconnected connection (using continuous pings and a no-response timeout to identify client-server connection).
  • [Core] Add other data compression system besides GZIP which is already implemented.
  • [Core] Add new binary encoding type like UTF-7, UTF-16, UTF-32.
  • [TCP/UDP client/server] Send data in string without having to convert from string to bytes manually.

Copyright