Nodejs-Websocket

This is an example of implementing websocket(ws) on both server and client side. They will both be running on the same server.

Link: https://github.com/Codemaxxers/Nodejs-Websocket

Install

$ npm install --save ws express
or 
$ git clone git@github.com:wahengchang/nodejs-websocket-example.git

Unstanding ws

ws is a WebSocket client and server implementation, fast, and easy to use (.

client

websocket client is a browser supported object.

There are 3 basic fucntions:

  • ws.onopen : emmited when connected
  • ws.send : sending a send event to websocket server
  • ws.onmessage : event emmited when receiving message
<script>
    var ws = new WebSocket('ws://localhost:40510');

    // event emmited when connected
    ws.onopen = function () {
        console.log('websocket is connected ...')

        // sending a send event to websocket server
        ws.send('connected')
    }

    // event emmited when receiving message 
    ws.onmessage = function (ev) {
        console.log(ev);
    }
</script>

server

server code is simple.

var WebSocketServer = require('ws').Server,
  wss = new WebSocketServer({port: <whatever port>})

wss.on('connection', function (ws) {
  ws.on('message', function (message) {
    console.log('received: %s', message)
  })

  setInterval(
    () => ws.send(`${new Date()}`),
    1000
  )
})

Run

Run server

$ npm start

Open browser

http://localhost:3000/

image

Reference