Celnet.Infrastructure.ENet
1.0.1
dotnet add package Celnet.Infrastructure.ENet --version 1.0.1
NuGet\Install-Package Celnet.Infrastructure.ENet -Version 1.0.1
<PackageReference Include="Celnet.Infrastructure.ENet" Version="1.0.1" />
<PackageVersion Include="Celnet.Infrastructure.ENet" Version="1.0.1" />
<PackageReference Include="Celnet.Infrastructure.ENet" />
paket add Celnet.Infrastructure.ENet --version 1.0.1
#r "nuget: Celnet.Infrastructure.ENet, 1.0.1"
#:package Celnet.Infrastructure.ENet@1.0.1
#addin nuget:?package=Celnet.Infrastructure.ENet&version=1.0.1
#tool nuget:?package=Celnet.Infrastructure.ENet&version=1.0.1
Celnet.Infrastructure.ENet
The Celnet.Infrastructure.ENet library is a powerful implementation of the Celnet.Domain peer interfaces using the ENet networking library. This library simplifies the development of networking applications by providing ready-to-use client and server components built on ENet.
Overview
Celnet.Infrastructure.ENet is a .NET library that bridges the gap between the Celnet.Domain library's peer interfaces and the ENet networking library. It offers pre-built implementations of these interfaces, allowing you to quickly create networked applications using ENet as the underlying transport layer.
Features
Client Implementation
The library provides a client implementation, Client
, that extends the AbstractPeer
class and implements the IClient
interface from Celnet.Domain. Key features include:
- Connection Management: Easily connect to a server, disconnect, and check the connection status.
- ENet Integration: Utilizes ENet's underlying functionality for efficient networking.
Here's an example of how to use the Client
class:
using Celnet.Infrastructure.ENet;
// Create a Client instance
var client = new Client(enetService);
// Connect to a server
client.Connect("127.0.0.1", 12345, 10);
// Check if the client is connected
bool isConnected = client.IsConnected;
// Disconnect from the server
client.Disconnect();
// Dispose the client
client.Dispose()
Server Implementation
The library also provides a server implementation, Server
, that extends the AbstractPeer
class and implements the IServer
interface from Celnet.Domain. Key features include:
- Server Creation: Easily create a server with specified port and maximum peer limit.
- Peer Management: Manage connected peers and their interactions.
- ENet Integration: Utilizes ENet's underlying functionality for efficient networking.
Here's an example of how to use the Server
class:
using Celnet.Infrastructure.ENet;
// Create a Server instance
var server = new Server(enetService);
// Create and start the server
server.Create(12345, 32);
// Check if the server is running
bool isRunning = server.IsRunning;
// Dispose of the server and disconnect all peers
server.Dispose();
Getting Started
To get started with Celnet.Infrastructure.ENet, follow these steps:
Install the Celnet.Infrastructure.ENet library using NuGet Package Manager or add it to your project's references.
Import the necessary namespaces:
using Celnet.Infrastructure.ENet;
Create instances of the
Client
andServer
classes to build your networked application. Configure them according to your specific requirements.Utilize the provided client and server components to handle networking tasks, such as connecting to servers, managing peers, and sending/receiving messages.
Contributing
We welcome contributions to the Celnet.Infrastructure.ENet library. If you have ideas for improvements, bug fixes, or new features, please open an issue or create a pull request on our GitHub repository.
License
This library is licensed under the MIT License. See the LICENSE file for details.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. 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. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
.NET Core | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.1 is compatible. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.1
- Celnet.Domain (>= 1.0.1)
- Celnet.ENet (>= 1.0.0)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Celnet.Infrastructure.ENet:
Package | Downloads |
---|---|
Celnet.Infrastructure.Protobuf
API implementation of Celnet.Domain using Google Protocol Buffers |
GitHub repositories
This package is not used by any popular GitHub repositories.