webSocket实现实时交流

120 阅读1分钟

搭建服务

基于node和nodejs-websocket搭建一个简单的webSocket服务

搭建node环境

安装nodejs-websocket包

npm i nodejs-websocket

引入模块,创建服务

main.js

const ws = require("nodejs-websocket");
console.log("开始建立连接...")

const socket = ws.createServer(function(connect){
    connect.on("text", function (str) {
        console.log(str)
        setTimeout(() => {
            connect.sendText("来自服务器的回应!");
        }, 3000)
    })
    connect.on("close", function (code, reason) {
        console.log("关闭连接")
    });
    connect.on("error", function (code, reason) {
        console.log("异常关闭")
    });
}).listen(8585)
console.log("服务器已开启")

module.exports = socket

客户端使用

main.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>
        Title</title>
</head>
<body>
    <div>
        <button id="send">send</button>
    </div>
<script>
    if(window.WebSocket){
        var ws = new WebSocket('ws://localhost:8585');

        ws.onopen = function(e){
            console.log("连接服务器成功");
        }
        ws.onclose = function(e){
            console.log("服务器断开");
        }
        ws.onerror = function(){
            console.log("连接出错");
        }
        // 接收服务器的消息
        ws.onmessage = function(e){
            console.log(e.data);
        }
    }

    document.getElementById('send').onclick=()=>{
        // 向服务器发送消息
        ws.send("来自客户端的消息");
    }
</script>
</body>
</html>