Skip to content

A SignalR transport for AutobahnJS, supported by a WampSharp router

License

Notifications You must be signed in to change notification settings

mdabbagh88/AutobahnJS.SignalR

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 

Repository files navigation

AutobahnJS.SignalR

A SignalR transport for AutobahnJS, supported by a WampSharp router.

Usage

var transportName = "SignalR-longPolling";

autobahn.transports.register
    (transportName, autobahnSignalR.SignalRTransportFactory);

var options: autobahn.IConnectionOptions = {
    realm: "realm1",
    url: "http://localhost:7070/signalr",
    transports: [
        {
            type: transportName,
            url: "http://localhost:7070/signalr",
            connectionSettings: <ConnectionSettings>{
                transport: ["longPolling"]
            }
        }
    ]
};

var connection = new autobahn.Connection(options);

connection.onopen = session => {
    session.call<number>('com.myapp.add2', [2, 3]).then(
        res => {
            console.log("Result:", res);
        });
};

connection.open();

Server-side:

{
    IWampHost host = new WampHost();

    host.RegisterTransport(new SignalRTransport("http://localhost:7070/", "/signalr"),
                           new JTokenJsonBinding());

    IWampHostedRealm realm = host.RealmContainer.GetRealmByName("realm1");

    realm.Services.RegisterCallee(new AddService());

    host.Open();
}

public interface IAddService
{
    [WampProcedure("com.myapp.add2")]
    int Add2(int x, int y);
}

private class AddService : IAddService
{
    public int Add2(int x, int y)
    {
        return x + y;
    }
}

About

A SignalR transport for AutobahnJS, supported by a WampSharp router

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 100.0%