No description, website, or topics provided.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
example
.eslintrc.js
.gitignore
.travis.yml
LICENSE
README.md
index.js
package.json
test.js
yarn.lock

README.md

fastify-ws

Build Status npm version

WebSocket support for Fastify built on the blazing fast ws and uws libraries.

Example

In server.js:

'use strict'

const fastify = require('fastify')()

fastify.register(require('fastify-ws'), {
  library: 'uws' // Use the uws library instead of the default ws library
})

fastify.ready(err => {
  if (err) throw err

  console.log('Server started.')

  fastify.ws
    .on('connection', socket => {
      console.log('Client connected.')

      socket.on('message', msg => socket.send(msg)) // Creates an echo server

      socket.on('close', () => console.log('Client disconnected.'))
    })
})

fastify.listen(34567)

Then run node server.js and navigate to http://localhost:34567 in your browser. In the browser's JavaScript console, open a client-side WebSocket connection:

const host = location.origin.replace(/^http/, 'ws')
const ws = new WebSocket(host)
ws.onmessage = msg => console.log(msg.data)

Then, still in the browser console, send some messages to the server and watch as they're echoed back to you:

ws.send('WebSockets are awesome!')
// => undefined
// LOG: WebSockets are awesome!

Notes

If you choose to use uws as your WebSocket library, ensure that you have configured your system properly and understand that the API is a slightly reduced subset of ws's.

License

Licensed under MIT.