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!");
};