Usage

Note

For information about protocols, see Transmitters.

Warning

Both client and server need to be polled regularly. Packets are processed during Poll() calls.

Starting a server

using PacketLib.Base; // Client and server classes
using PacketLib.Transmitters; // Default transmitters

var server = new NetworkServer<TcpTransmitter>(reg); // Creates a tcp server

Starting a client

using PacketLib.Base; // Client and server classes
using PacketLib.Transmitters; // Default transmitters

var server = new NetworkClient<TcpTransmitter>(reg); // Creates a tcp client

Polling

Note

Polling must be called regularly for as long as the server/client exists.

Polling the server.

server.Poll();

Polling the client.

client.Poll();

Sending packets

Client to server

client.Send(packet);

Server to client

With client Guid

server.SendToClient(packet, Guid);

With ClientRef object

clientRef.Send(packet);

Server to all clients

server.SendToAll(packet);

Events

Client connected

From server side.

server.ClientConnected += (sender, @ref) =>
{
    Console.WriteLine($"[Server] Client connected: {@ref.Guid}!");
};

From client side.

client.ClientConnected += (sender, guid) =>
{
    Console.WriteLine($"[Client] Client connected! {guid}");
};

Client disconnected

From server side.

server.ClientDisconnected += (sender, @ref) =>
{
    Console.WriteLine($"[Server] Client disconnected! {@ref.Guid}!");
};

From client side.

client.ClientDisconnected += (sender, _) =>
{
    Console.WriteLine($"[Client] Client disconnected!");
};