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
                    
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="Celnet.Infrastructure.ENet" Version="1.0.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Celnet.Infrastructure.ENet" Version="1.0.1" />
                    
Directory.Packages.props
<PackageReference Include="Celnet.Infrastructure.ENet" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Celnet.Infrastructure.ENet --version 1.0.1
                    
#r "nuget: Celnet.Infrastructure.ENet, 1.0.1"
                    
#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.
#:package Celnet.Infrastructure.ENet@1.0.1
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Celnet.Infrastructure.ENet&version=1.0.1
                    
Install as a Cake Addin
#tool nuget:?package=Celnet.Infrastructure.ENet&version=1.0.1
                    
Install as a Cake Tool

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:

  1. Install the Celnet.Infrastructure.ENet library using NuGet Package Manager or add it to your project's references.

  2. Import the necessary namespaces:

    using Celnet.Infrastructure.ENet;
    
  3. Create instances of the Client and Server classes to build your networked application. Configure them according to your specific requirements.

  4. 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 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

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.

Version Downloads Last Updated
1.0.1 223 9/8/2023
1.0.0 165 9/8/2023