Node极速开发WebSocket服务器

  1. 首先讲出核心代码index.js,如下:
const crypto = require('crypto');
const express = require('express');
const { createServer } = require('http');
const WebSocket = require('ws');

const app = express();

const server = createServer(app);
const wss = new WebSocket.Server({ server });

wss.on('connection', function(ws) {
  console.log("client joined.");

  // send "hello world" interval
  const textInterval = setInterval(() => ws.send("hello world!"), 100);

  // send random bytes interval
  const binaryInterval = setInterval(() => ws.send(crypto.randomBytes(8).buffer), 110);

  ws.on('message', function(data) {
    if (typeof(data) === "string") {
      // client sent a string
      console.log("string received from client -> '" + data + "'");

    } else {
      console.log("binary received from client -> " + Array.from(data).join(", ") + "");
    }
  });

  ws.on('close', function() {
    console.log("client left.");
    clearInterval(textInterval);
    clearInterval(binaryInterval);
  });
});

server.listen(8080, function() {
  console.log('Listening on http://localhost:8080');
});

  1. 其次,讲明使用的库,写入packages.json文件中,如下:
{
  "name": "nodeserver",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "start": "node index.js",
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC",
  "dependencies": {
    "express": "^4.17.1",
    "ws": "^7.1.2"
  }
}

  1. 最后,执行即可,先npm install安装依赖包,再执行npm run start或直接执行node index.js

  1. 基于Node.js的WebSocket极简服务器开发完成。




作者:艾孜尔江

posted @ 2021-01-26 11:04  艾孜尔江  阅读(105)  评论(0编辑  收藏  举报