Chapter.Net.Networking
6.0.1
The owner has unlisted this package.
This could mean that the package is deprecated, has security vulnerabilities or shouldn't be used anymore.
dotnet add package Chapter.Net.Networking --version 6.0.1
NuGet\Install-Package Chapter.Net.Networking -Version 6.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="Chapter.Net.Networking" Version="6.0.1" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Chapter.Net.Networking --version 6.0.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Chapter.Net.Networking, 6.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.
// Install Chapter.Net.Networking as a Cake Addin #addin nuget:?package=Chapter.Net.Networking&version=6.0.1 // Install Chapter.Net.Networking as a Cake Tool #tool nuget:?package=Chapter.Net.Networking&version=6.0.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Chapter.Net.Networking Library
Overview
Chapter.Net.Networking provides methods and objects for a more easy network communication.
Features
- [LocalOnly] attribute: Mark a API callback method as allowed to be called local only.
- Broadcasting: Start a broadcasting server and clients to find each other on a local network or sending general messages.
Getting Started
Installation:
- Install the Chapter.Net.Networking library via NuGet Package Manager:
dotnet add package Chapter.Net.Networking
[LocalOnly]:
- Usage
public class SetupController : ApiController { [LocalOnly] [HttpPost(Routes.Setup)] public void Setup() { } }
Broadcasting:
- Start a server
public class BroadcastServer { private readonly IBroadcasting _broadcasting; private ServerToken _token; public BroadcastServer(IBroadcasting broadcasting) { _broadcasting = broadcasting; } public void StartServer() { _token = _broadcasting.Start(new ServerConfiguration(37455, "Hello Client", s => s == "Hello Server")); _broadcasting.ClientMessageReceiving += OnClientMessageReceiving; _broadcasting.ClientMessageReceived += OnClientMessageReceived; } private void OnClientMessageReceiving(object? sender, ClientMessageReceivingEventArgs e) { Console.WriteLine($"'{e.Address}' has send '{e.Message}' and we will reply '{e.Configuration.ResponseMessage}'"); } private void OnClientMessageReceived(object? sender, ClientMessageReceivedEventArgs e) { Console.WriteLine($"'{e.Address}' has send '{e.Message}' and we replied with '{e.Configuration.ResponseMessage}'"); } public void StopServer() { _broadcasting.Dispose(_token); } }
- Use client to communicate with the server
public class BroadcastClient { private readonly IBroadcasting _broadcasting; public BroadcastClient(IBroadcasting broadcasting) { _broadcasting = broadcasting; } public void SendBroadcast() { var configuration = new ClientConfiguration(37455, "Hello Server", TimeSpan.FromSeconds(10)); _broadcasting.Send(configuration, response => { Console.WriteLine($"'{response.Address}' as reply to the '{response.Configuration.Message}' with '{response.Message}'"); }); } }
Links
License
Copyright (c) David Wendland. All rights reserved. Licensed under the MIT License. See LICENSE file in the project root for full license information.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0 is compatible. 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. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net6.0
- Asp.Versioning.Http (>= 6.5.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|