powered by ALEC1O
Netly is a flexible socket library built on c-sharp. It is compatible with (Android, iOS, Linux, Windows...)
Netly docs (HERE)
Official publisher
Nuget | Unity Asset Store |
---|---|
Install on Nuget | Install on Asset Store |
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) |
Below are some missing features that are planned to be added in later versions.
- SSL/TLS (v3)
- Websocket (v4)
# 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
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
});