一、WS协议的概念

    小知识:binary流数据就是二进制数

    二、服务器端实现一个聊天室

    1.下载第三方包 npm install ws -s

    2.引入第三方包 const wss = new WebSocket.Server({ port: 8080 });

    先创建一个类,然后获取他下面的服务器方法,port表示端口名

    3.监听客户端 wss.on(“connection”, function connection(ws) {

    // wss表示服务器端 // on.connection表示服务器与客户端连接起来后就会触发后面的回调函数

    ws.on(“message”, function message(data, isBinary) {

    // ws表示发送信息的客户端 // data表示发送过来的数据,当客户端发送过来数据后,就会触发后面的回调函数 // isBinary会自动把客户端传过来的binary流数据转成UTF-8格式的字符串数据

    wss.clients.forEach(function each(client) {

    // 遍历客户端列表,因为不止有一个客户端访问我们的服务器

    // 如果客户端与服务器连接正常,就把服务器得到的信息广播给所有连接正常的客户端

    if(client.readyStatue === WebSocket.OPEN) {

    client.send(data, {binary: isBinary});

    }

    })

    })

    })

    引入一个

    WS协议 - 图1

    三、前端实现一个聊天室

    WS协议 - 图2

    WS协议 - 图3