jacqueskang / Ipcserviceframework
Licence: mit
.NET Core Inter-process communication framework
Stars: ✭ 268
Labels
Projects that are alternatives of or similar to Ipcserviceframework
Raft.net
Implementation of RAFT distributed consensus algorithm among TCP Peers on .NET / .NETStandard / .NETCore / dotnet
Stars: ✭ 112 (-58.21%)
Mutual labels: tcp, dotnetcore
Nsmartproxy
NSmartProxy是一款开源免费的内网穿透工具。采用.NET CORE的全异步模式打造。(NSmartProxy is an open source reverse proxy tool that creates a secure tunnel from a public endpoint to a locally service.)
Stars: ✭ 547 (+104.1%)
Mutual labels: tcp, dotnetcore
Networker
A simple to use TCP and UDP networking library for .NET. Compatible with Unity.
Stars: ✭ 408 (+52.24%)
Mutual labels: tcp, dotnetcore
XRPC
dotnet high performance remote interface and delegate invoke(RPC) communication components,support millions RPS remote interface method invokes
Stars: ✭ 77 (-71.27%)
Mutual labels: tcp, dotnetcore
WebCam-Streaming
Web-cam live streaming with websockets and SignalR with ASP.NET Core just for fun and to learn new things. 😀👨🏻💻
Stars: ✭ 31 (-88.43%)
Mutual labels: dotnetcore
foundationdb-dotnet-client
C#/.NET Binding for FoundationDB Client API
Stars: ✭ 118 (-55.97%)
Mutual labels: dotnetcore
recommender
NReco Recommender is a .NET port of Apache Mahout CF java engine (standalone, non-Hadoop version)
Stars: ✭ 35 (-86.94%)
Mutual labels: dotnetcore
Stick
solution of "sticking packets" for TCP network transmission
Stars: ✭ 261 (-2.61%)
Mutual labels: tcp
docker-dotnet-sonarscanner
🐳 Sonar Scanner MsBuild Dockerfile for dotNet Projects
Stars: ✭ 21 (-92.16%)
Mutual labels: dotnetcore
ethereum-dissectors
🔍Wireshark dissectors for Ethereum devp2p protocols
Stars: ✭ 82 (-69.4%)
Mutual labels: tcp
extension-networking
Library developed for OpenFL to facilitate connections between applications, using TCP sockets, and following the scheme of event-driven programming.
Stars: ✭ 29 (-89.18%)
Mutual labels: tcp
jrinetd
Jrinetd is a network TCP port redirector/forward proxy (like rinetd) with extra features like connection Failover, LoadBalancing and Clustering. In pure Java (NIO)
Stars: ✭ 20 (-92.54%)
Mutual labels: tcp
LightTunnel
LightTunnel-内网穿透映射工具,支持TCP、HTTP、HTTPS穿透映射,支持Windows、Linux、Mac、Android系统
Stars: ✭ 40 (-85.07%)
Mutual labels: tcp
http-connection-lifecycle
Complete and detailed explanation of HTTP connection lifecycle
Stars: ✭ 43 (-83.96%)
Mutual labels: tcp
CI build | Stable build |
---|---|
IpcServiceFramework
A .NET Core 3.1 based lightweight framework for efficient inter-process communication. Named pipeline and TCP support out-of-the-box, extensible with other protocols.
NuGet packages
Usage
-
Create an interface as service contract and package it in an assembly to be referenced by server and client applications, for example:
public interface IInterProcessService { string ReverseString(string input); }
-
Implement the service in server application, for example:
class InterProcessService : IInterProcessService { public string ReverseString(string input) { char[] charArray = input.ToCharArray(); Array.Reverse(charArray); return new string(charArray); } }
-
Install the following NuGet packages in server application:
> Install-Package Microsoft.Extensions.Hosting > Install-Package JKang.IpcServiceFramework.Hosting.NamedPipe
-
Register the service implementation and configure IPC endpoint(s):
class Program { public static void Main(string[] args) { CreateHostBuilder(args).Build().Run(); } public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args) .ConfigureServices(services => { services.AddScoped<IInterProcessService, InterProcessService>(); }) .ConfigureIpcHost(builder => { // configure IPC endpoints builder.AddNamedPipeEndpoint<IInterProcessService>(pipeName: "pipeinternal"); }) .ConfigureLogging(builder => { // optionally configure logging builder.SetMinimumLevel(LogLevel.Information); }); }
-
Install the following NuGet package in client application:
> Install-Package JKang.IpcServiceFramework.Client.NamedPipe
-
Invoke the server
// register IPC clients ServiceProvider serviceProvider = new ServiceCollection() .AddNamedPipeIpcClient<IInterProcessService>("client1", pipeName: "pipeinternal") .BuildServiceProvider(); // resolve IPC client factory IIpcClientFactory<IInterProcessService> clientFactory = serviceProvider .GetRequiredService<IIpcClientFactory<IInterProcessService>>(); // create client IIpcClient<IInterProcessService> client = clientFactory.CreateClient("client1"); string output = await client.InvokeAsync(x => x.ReverseString(input));
FAQs
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].