Skip to content

arsher/signalr-pipe

Repository files navigation

signalr-pipe

Build status

Purpose

This is an experimental lib to make use of the connection abstractions in the ASP.NET Core version of SignalR. It aims to implement a named pipe based transport layer to be used as a form of IPC between .NET and/or Node processes.

How to use

This SignalR extension is intended to be used with the .NET Generic Host.

Example setup for the server:

var host = new HostBuilder()
    .UseHostUri(new Uri("signalr.pipe://testhost/"))
    .UseSignalR(b =>
    {
        b.MapHub<TestHub>("/testpath/net");
    })
    .ConfigureServices(collection =>
    {
        collection.AddSignalR();
    })
    .Build();

host.Start();

Example client

.NET

var connection = new NamedPipeHubConnectionBuilder()
    .WithUri("signalr.pipe://testhost/testpath/net")
    .Build();

await connection.StartAsync();

NodeJS

const hubConnection = new PipeHubConnectionBuilder()
            .withUrl("signalr.pipe://testhost/testpath")
            .withHubProtocol(protocol)
            .build();

await hubConnection.start();

Releases

CI Builds

Every commit on master creates a new set of packages:

Stable

There is no stable release at this point.