Shaoli's Blog

node+ws模块实现websocket即时通讯

首先要先配置好node环境和experss。这个不多说。


安装ws

npm install ws -g


新建一个socket.js

const express = require('express');
const WebSocket = require('ws');
const http = require('http');
const server = http.createServer(app);
const wss = new WebSocket.Server({ server });

var app = express();

wss.on('connection', (ws) => {
    ws.on('message', (message) => {
        console.log('received: %s', message);
        ws.send(message);
    });
});
server.listen(8888, () => {
    console.log('服务器启动成功!');
});


启动socket环境,提示服务启动成功就对了

node socket.js


前台js调用socket通信

const ws = new WebSocket("ws://localhost:8888/");
    ws.onopen = ()=> {
        console.log("Opened");
        ws.send("I'm client");
    };
    ws.onmessage = (evt)=> {
        console.log('----------------');
        console.log(evt.data);
    };
    ws.onclose = ()=> {
        console.log("Closed");
    };
    ws.onerror = (err)=> {
        console.log(err);
    };


如果在服务器上配置socket,记得在安全组里开放对应的socket端口,还得用pm2保持服务长连接不被关闭。

pm2 start socket.js --watch

--watch 表示实时监听变化


这个只是最基本的环境配置,具体业务需求自己慢慢改造。

    评论列表

  • 匿名 --广东省

    看起来挺好玩的😃

person
0 / 16
comment
0 / 100