LiteNetwork.Extensions
2.4.2
dotnet add package LiteNetwork.Extensions --version 2.4.2
NuGet\Install-Package LiteNetwork.Extensions -Version 2.4.2
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="LiteNetwork.Extensions" Version="2.4.2" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add LiteNetwork.Extensions --version 2.4.2
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: LiteNetwork.Extensions, 2.4.2"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install LiteNetwork.Extensions as a Cake Addin #addin nuget:?package=LiteNetwork.Extensions&version=2.4.2 // Install LiteNetwork.Extensions as a Cake Tool #tool nuget:?package=LiteNetwork.Extensions&version=2.4.2
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
LiteNetwork.Extensions
LiteNetwork is great, this repository aims to make it a little more awesome with some additional features.
Features
- Simple and easy handling of incoming packets via dependency injection.
- Added the ability to regsiter a client to an
IServiceCollection
without registering a hosted service.
Examples
Simple Packet Handling
With LiteNetwork.Extensions you can easily send and receive packets via the packet handling feature. Setup is super simple, the steps are as follows:
- Initialize the packet handling feature via
ILiteBuilder.UsePacketHandling()
. - Specify what kind of serialization you want (currently only JSON is provided but you can implement your own via
ILitePacketSerializer
). - Finally, for each packet you wish to handle register a packet handler via
ILiteBuilder.RegisterPacketHandler<TPacket, TPacketHandler>()
Below, you'll find a simple example:
using LiteNetwork.Hosting;
using LiteNetwork.Server.Hosting;
using LiteNetwork.Extensions.Processing.Extensions;
using Microsoft.Extensions.Hosting;
using System;
using System.Threading.Tasks;
var host = new HostBuilder()
// Configures the LiteNetwork context.
.ConfigureLiteNetwork((context, builder) =>
{
// Add the server or client here...
builder.UsePacketHandling();
builder.UseJsonPacketSerialization();
builder.RegisterPacketHandler<TestPacket, TestPacketHandler>();
})
.UseConsoleLifetime()
.Build();
await host.RunAsync();
And of course, the packet and packet handler classes:
public class TestPacket
{
public string SomeTestData { get; set; }
}
public class TestPacketHandler : LitePacketHandlerBase<TestPacket>
{
protected override async Task Handle(TPacket packet, ILitePacketContext context)
{
// Run CPU bound if you like.
await Task.Run(() =>
{
Console.WriteLine(packet.SomeTestData);
// Now let's send a response.
context.Send(new TestPacket()
{
SomeTestData = "LiteNetwork is Awesome!",
});
});
}
}
Build Instructions
Below is a list of prerequisites and build instructions.
Prerequisites
Building on Windows, Mac, and Linux
- Download or clone the repository.
- Open
LiteNetwork.Extensions.sln
in your preferred IDE. - Build the solution (or use
dotnet build
).
Download
- Release builds will be accessible on GitHub and as NuGet packages.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net8.0
- LiteNetwork (>= 2.4.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Initial Release