EasyPipes 1.0.0

There is a newer version of this package available.
See the version list below for details.
dotnet add package EasyPipes --version 1.0.0                
NuGet\Install-Package EasyPipes -Version 1.0.0                
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="EasyPipes" Version="1.0.0" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add EasyPipes --version 1.0.0                
#r "nuget: EasyPipes, 1.0.0"                
#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 EasyPipes as a Cake Addin
#addin nuget:?package=EasyPipes&version=1.0.0

// Install EasyPipes as a Cake Tool
#tool nuget:?package=EasyPipes&version=1.0.0                

EasyPipes

Simple C# library for NamedPipe and TCP-based IPC

Written against .NET Core 2.1, ought to be compatible with most modern .NET versions.

Usage

Server usage:

using EasyPipes;

// IService defines the IPC interface
public interface IService
{
   int Sum(int one, int two);
}

// Calculator is the server class
class Calculator : IService
{
   public int Sum(int one, int two)
   {
      return one + two;
   }
}

// start up
Server server = new Server("pipename");
server.RegisterService<IService>(new Calculator());
server.Start();

// eventual shutdown
server.Stop();

Client usage:

using EasyPipes;

// IService defines the IPC interface
public interface IService
{
   int Sum(int one, int two);
}

// setup client
Client client = new Client("pipename");
IService service = client.GetServiceProxy<IService>();

// execute remote operation
int result = service.Sum(6, 12); // = 18

Remarks:

  • There is a single instance of the server class used by all clients!
  • It's primarily focussed on IPC on single-machine or close-connections, so it might not perform well with long-distance internet connections.
  • Any and all arguments or return values are serialized using DataContractSerializer, so custom types that need to cross the connection should be designed accordingly.

Licence

Mozilla Public Licence 2.0

In simple terms: You can use the library as-is for any of your own projects, but any changes to the library itself have to be available under the same terms.

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. 
.NET Core netcoreapp2.1 is compatible.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 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 EasyPipes:

Package Downloads
Alternet.Studio.Scripter.Debugger

AlterNET Scripter is a component library designed to integrate C#, Visual Basic, TypeScript, JavaScript, Python, and IronPython scripts into your WinForms and WPF .NET desktop applications. It allows extending the application logic by implementing custom functionality or automating custom tasks without recompiling and redeploying the application. This package includes a ScriptDebugger component, which provides a debugging engine for C# and VisualBasic scripts, supporting Start, Stop, Break, and Continue commands, step-by-step execution, breakpoints, expression evaluation, viewing local variables, watches, stack tracing and multiple thread debugging. This multi-target package can be used with .NET applications targeting .NET Framework starting from 4.6.2 or .NET 6 / .NET 7 / .NET 8 More information about Scripter can be found here: https://www.alternetsoft.com/products/scripter Documentation and sample projects can be downloaded here: https://www.alternetsoft.com/download NOTE: This is a commercial software product and requires purchasing a license for legal usage. Please refer to our licensing FAQ here: https://www.alternetsoft.com/faq#license

GitHub repositories (1)

Showing the top 1 popular GitHub repositories that depend on EasyPipes:

Repository Stars
ConcreteMC/Alex
A Minecraft client written in C# aimed at compatibility with MC:Java & MC:Bedrock
Version Downloads Last updated
1.3.0 25,268 2/20/2021
1.2.0 3,501 4/8/2020
1.1.0 5,608 10/22/2018
1.0.0 728 10/22/2018

First version, use at own risk!