Skip to content

py-package/masonite-broadcast-client

Repository files navigation

Masonite Broadcast Client (WIP)

This is a library providing client side support for the Masonite broadcast driver.

Masonite Broadcast Server and Client Library

Version Issues GitHub release (latest by date including pre-releases) License star downloads

Installation

$ npm install masonite-broadcast-client socket.io-client
$ yarn add masonite-broadcast-client socket.io-client

Example

/** Connection */

window.io = require("socket.io-client");
const MasoniteBroadcastClient = require("masonite-broadcast-client");

const broadcast = new MasoniteBroadcastClient({
    url: "http://localhost:3000",
    broadcastUrl: "http://localhost:8000/broadcast/auth" // optional
});

broadcast.onUserConnected(user => {
    console.log(`${user.userID} connected`);
});
/** You can add an extra value in session */

broadcast.setExtra("value", (user) => { // value here must not be complex data types
    console.log(user);
})
/** Subscribe to channel */

const subscription = broadcast.subscribe("chat");
/** Broadcast to all */

subscription.emit("your-event", your_data_here)
/** Broadcast to all except the sender */

subscription.broadcast("your-event", your_data_here);
/** Listen for events */

subscription.listen('message', (data) => {
    console.log(data);
}).listen('your-event', (data) => {
    console.log(data);
});