首页 > Web开发 > 详细

Node极速开发WebSocket服务器

时间:2021-01-26 12:30:20      阅读:34      评论:0      收藏:0      [点我收藏+]
  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极简服务器开发完成。




作者:艾孜尔江

Node极速开发WebSocket服务器

原文:https://www.cnblogs.com/ezhar/p/14329222.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!