Skip to content

Open source .NET library for interprocess communication over TCP

License

Notifications You must be signed in to change notification settings

cdalizadeh/SimpleIpc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

47 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SimpleIpc

Build Status License: MIT

SimpleIpc is a basic Interprocess Communication library written in C# for .NET Core. The library allows developers to create publishers that can pass messages over TCP to subscribers in another process. The interfaces for PublisherClient and SubscriberClient are quite simple:

namespace SimpleIpc.Shared
{
    public interface IPublisherClient
    {
        void Send(string message);

        void Publish(string channelId);
        void Unpublish(string channelId);

        void Dispose();
    }

    public interface ISubscriberClient
    {
        IObservable<string> MessageReceived {get;}

        void Subscribe(string channelId);
        void Unsubscribe(string channelId);

        void Dispose();
    }
}

SimpleIpc exposes data received on the Subscriber as a ReactiveX Observable. The server makes use of ReactiveX internally to manage messages and connections.

To try SimpleIpc for yourself:

  1. Clone the repository
  2. cd Test/TestServer && dotnet run
  3. In a new terminal, cd Test/TestClient && dotnet run -- -t publisher
  4. In one last terminal, cd Test/TestClient && dotnet run -- -t subscriber
  5. The subscriber process should now receive all messages sent by the publisher

Releases

No releases published

Packages

No packages published

Languages