Skip to content
/ Netly2 Public
forked from alec1o/Netly

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

License

Notifications You must be signed in to change notification settings

zeloot/Netly2

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

powered by ALEC1O
About

Netly is a flexible socket library built on c-sharp. It is compatible with (Android, iOS, Linux, Windows...)


Documentation

Netly docs (HERE)


Install

Official publisher

Nuget Unity Asset Store
Install on Nuget Install on Asset Store

Versions

Notable changes

v1 (old) v2 (current) v3 (nonexistent) v4 (nonexistent)
TCP (client/server) TCP/IP Message Framing TLS/SSL (client/server) Websocket (client/server)
UDP TCP/UDP performance improvement Include docs/sample (SSL/TLS) Include docs/sample (Websocket)

List of tested platforms

Feature

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

  • SSL/TLS (v3)
  • Websocket (v4)

Dependency

Build
Build dependencies
Build step-by-step
# 1. clone repository 
$ git clone "https://github.com/alec1o/netly.git"

# 2. open source directory 
$ cd netly/

# 5. restore dotnet project
$ dotnet restore

# 6. build dotnet project
$ dotnet build

Demo

Client

using Netly;
using Netly.Core;

/* ================ Instances ================ */

var client = new TcpClient(); 
var host = new Host("127.0.0.1", 3000); 

/* ================ Triggers ================= */

client.Open(host); // open connection

client.ToData(new byte[] { 1, 2, 3, 4, 5, 6, 7, 8, 9}); // send raw data

client.ToEvent("name", new byte[] { 1, 2, 3, 4, 5, 6}); // send event

client.Close(); // close connection

/* ================ Callbacks ================ */

client.OnOpen(() =>
{
    // connection opened
});

client.OnClose(() =>
{
    // connection closed
});

client.OnError((exception) =>
{   
    // error on open connection
});

client.OnData((data) => 
{
    // buffer/data received
});

client.OnEvent((name, data) =>
{
    // event received: {name: event name} {data: buffer/data received} 
});

client.OnModify((socket) =>
{
    // modify socket instance
});

Server

using Netly;
using Netly.Core;

/* ================ Instances ================ */

var server = new TcpServer();
var host = new Host("0.0.0.0", 3000);

/* ================ Triggers ================= */  

server.Open(host); // open connection

server.ToData(new byte[] { 1, 2, 3, 4, 5, 6, 7, 8, 9}); // broadcast data

server.ToEvent("name", new byte[] { 1, 2, 3, 4, 5, 6}); // broadcast event

server.Close(); // close connection

/* ================ Callbacks ================ */  

server.OnOpen(() =>
{
    // connection opened: server start listen client
});

server.OnClose(() =>
{
    // connection closed: server stop listen client
});

server.OnError((exception) =>
{
    // error on open connection
});

server.OnEnter((client) =>
{
    // client connected: connection accepted
});

server.OnExit((client) =>
{
    // client disconnected: connection closed
});

server.OnData((client, data) =>
{
    // buffer/data received: {client: client instance} {data: buffer/data received} 
});

server.OnEvent((client, name, data) =>
{
    // event received: {client: client instance} {name: event name} {data: buffer received} 
});

server.OnModify((socket) =>
{
    // modify socket instance
});

About

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

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C# 100.0%