GitHub - RevenantX/LiteNetLib: Lite reliable UDP library for Mono and .NET (original) (raw)

LiteNetLib 2

Lite reliable UDP library for .NET Standard 2.1 (Mono, .NET)

Made in Ukraine

HighLevel API Part: LiteEntitySystem

Discord chat: Discord

OLD BRANCH (and examples) for 1.x

Little Game Example on Unity

Documentation

Build

( Warning! Master branch can be unstable! )

Features

Support developer

Unity notes!!!

Usage samples

Client

var listener = new EventBasedNetListener(); var client = new NetManager(listener); client.Start(); client.Connect("localhost" /* host IP or name /, 9050 / port /, "SomeConnectionKey" / text key or NetDataWriter /); listener.NetworkReceiveEvent += (fromPeer, dataReader, deliveryMethod, channel) => { Console.WriteLine("We got: {0}", dataReader.GetString(100 / max length of string */)); dataReader.Recycle(); };

while (!Console.KeyAvailable) { client.PollEvents(); Thread.Sleep(15); }

client.Stop();

Server

var listener = new EventBasedNetListener(); var server = new NetManager(listener); server.Start(9050 /* port */);

listener.ConnectionRequestEvent += request => { if(server.ConnectedPeersCount < 10 /* max connections */) request.AcceptIfKey("SomeConnectionKey"); else request.Reject(); };

listener.PeerConnectedEvent += peer => { Console.WriteLine("We got connection: {0}", peer); // Show peer IP var writer = new NetDataWriter(); // Create writer class writer.Put("Hello client!"); // Put some string peer.Send(writer, DeliveryMethod.ReliableOrdered); // Send with reliability };

while (!Console.KeyAvailable) { server.PollEvents(); Thread.Sleep(15); } server.Stop();