Koa2搭建WebSocket

2022-04-25 17:43:46 浏览数 (1)

安装

代码语言:javascript复制
mkdir ws
cd ws
npm i koa
npm i ws

服务端

代码语言:javascript复制
// index.js
const Koa = require('koa');
const WebSocket = require('ws');

const app = new Koa();
const ws = new WebSocket.Server({ port: 3001 });

ws.on('connection', ws => {
  console.log('server connection');

  ws.on('message', msg => {
    console.log('server receive msg:', msg);
  });

  ws.send('Information from the server');
});

app.use(async ctx => {
  ctx.body = 'Hello Koa';
});

app.listen(3000);

运行

代码语言:javascript复制
node index.js

访问

访问koa
访问ws
代码语言:javascript复制
(function WebSocketTest() {
  if ("WebSocket" in window) {
    alert("您的浏览器支持 WebSocket!");

    // 打开一个 web socket
    var ws = new WebSocket("ws://127.0.0.1:3001/");

    ws.onopen = function () {
      // Web Socket 已连接上,使用 send() 方法发送数据
      ws.send("发送数据");
      alert("数据发送中...");
    };

    ws.onmessage = function (evt) {
      var received_msg = evt.data;
      alert("数据已接收..."   evt.data);
    };

    ws.onclose = function () {
      // 关闭 websocket
      alert("连接已关闭...");
    };
  }

  else {
    // 浏览器不支持 WebSocket
    alert("您的浏览器不支持 WebSocket!");
  }
})()

0 人点赞