Skip to content

A promise based WebSocket implementation for request-response processing

License

Notifications You must be signed in to change notification settings

cantonjs/promise-ws

Repository files navigation

promise-ws

Build Status CircleCI Build status Coverage Status PRs Welcome License

A promise based WebSocket implementation for Node.js. Built on top of ws

Table of Contents

Usage examples

Simple client

import WebSocket from "promise-ws";

(async function() {
  const ws = await WebSocket.create("ws://www.host.com/path");

  ws.on("message", function incoming(data) {
    console.log(data);
  });

  await ws.send("something");
})();

Simple server

import WebSocket from "promise-ws";

(async function() {
  const wss = await WebSocket.Server.create({ port: 8080 });

  wss.on("connection", async function connection(ws) {
    ws.on("message", function incoming(message) {
      console.log("received: %s", message);
    });

    await ws.send("something");
  });
})();

Installation

$ npm install promise-ws

API Reference

promise-ws API is almost the same with ws except that:

  • websocket.ping([data[, mask]]) returns a promise
  • websocket.pong([data[, mask]]) returns a promise
  • websocket.send(data[, options]) returns a promise
  • 🆕 WebSocket.Server.create(options), returns a promise of listened WebSocket.Server instance
  • 🆕 WebSocket.create(options), returns a promise of opened WebSocket instance

For more WebSocket API, please checkout the API doc.

License

MIT

About

A promise based WebSocket implementation for request-response processing

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published