A simple to use TCP and UDP networking library for .NET, designed to be flexible, scalable and FAST.
NuGet Package Manager
Install-Package Networker
You must then install one of the following formatters
Install-Package Networker.Extensions.ZeroFormatter
Install-Package Networker.Extensions.MessagePack
Install-Package Networker.Extensions.ProtoBufNet
Install-Package Networker.Extensions.Json
Get started with this tutorial written by the library developer Mark Eastwood
Creating a server is easy..
var server = new ServerBuilder()
.UseTcp(1000)
.UseUdp(5000)
.RegisterPacketHandlerModule<DefaultPacketHandlerModule>()
.RegisterPacketHandlerModule<ExamplePacketHandlerModule>()
.UseZeroFormatter()
.ConfigureLogging(loggingBuilder =>
{
loggingBuilder.AddConsole();
loggingBuilder.SetMinimumLevel(
LogLevel.Debug);
})
.Build();
server.Start();
You can handle a packet easily using dependency injection, logging and built-in deserialisation.
public class ChatPacketHandler : PacketHandlerBase<ChatPacket>
{
private readonly ILogger<ChatPacketHandler> _logger;
public ChatPacketHandler(ILogger<ChatPacketHandler> logger)
{
_logger = logger;
}
public override async Task Process(ChatPacket packet, IPacketContext packetContext)
{
_logger.LogDebug("I received the chat message: " + packet.Message);
packetContext.Sender.Send(new ChatPacket
{
Message = "Hey, I got your message!"
});
}
}