5ug-signlar

ASP.NET Core SignalR Client

Usage no npm install needed!

<script type="module">
  import ugSignlar from 'https://cdn.skypack.dev/5ug-signlar';
</script>

README

JavaScript and TypeScript clients(compatible with DCloud/uni-app platform) for SignalR for ASP.NET Core and Azure SignalR Service.

Installation

npm install signalr-uni

Usage

See the SignalR Documentation at docs.microsoft.com for documentation on the latest release. API Reference Documentation is also available on docs.microsoft.com.

For documentation on using this client with Azure SignalR Service and Azure Functions, see the SignalR Service serverless developer guide.

UniApp

To use the client in a uni application, install the package to your node_modules folder and use import { /*MODULE NAME*/ } from 'signalr-uni' to load the module.

Browser

To use the client in a browser, copy *.js files from the dist/browser folder to your script folder include on your page using the <script> tag.

WebWorker

To use the client in a webworker, copy *.js files from the dist/webworker folder to your script folder include on your webworker using the importScripts function. Note that webworker SignalR hub connection supports only absolute path to a SignalR hub.

Node.js

To use the client in a NodeJS application, install the package to your node_modules folder and use require('@microsoft/signalr') to load the module. The object returned by require('@microsoft/signalr') has the same members as the global signalR object (when used in a browser).

Example (UniApp)

import { HubConnectionBuilder, LogLevel } from 'signalr-uni';

const connection = new HubConnectionBuilder()
    .withUrl("https://example.com/signalr/chat")
    .withAutomaticReconnect([0, 2000, 4000, 8000, 10000, 30000, 60000])
    .configureLogging(LogLevel.Debug)
    .build();

connection.on("send", data => {
    console.log(data);
});

connection.start()
    .then(() => connection.invoke("send", "Hello"));

Example (Browser)

let connection = new signalR.HubConnectionBuilder()
    .withUrl("/chat")
    .build();

connection.on("send", data => {
    console.log(data);
});

connection.start()
    .then(() => connection.invoke("send", "Hello"));

Example (WebWorker)

importScripts('signalr.js');

let connection = new signalR.HubConnectionBuilder()
    .withUrl("https://example.com/signalr/chat")
    .build();

connection.on("send", data => {
    console.log(data);
});

connection.start()
    .then(() => connection.invoke("send", "Hello"));

Example (NodeJS)

// Use `@microsoft/signalr` instead of `signalr-uni` in a NodeJS application.
const signalR = require("@microsoft/signalr");

let connection = new signalR.HubConnectionBuilder()
    .withUrl("/chat")
    .build();

connection.on("send", data => {
    console.log(data);
});

connection.start()
    .then(() => connection.invoke("send", "Hello"));