简单了解一下:NodeJS的WebSocket网络编程
  VJpXGY9Pywpe 2023年11月02日 57 0


NodeJS的webSocket网络编程。

那什么是WebSocket呢?WebSocket是HTML5提供的一种浏览器和服务器进行通信的网络技术。两者之间,只需要做一个握手动作,就可以在浏览器和服务器之间开启一条通道,就可以进行数据相互传输。

实现WebSocket网络编程,分为三个步骤:

  1. 创建WebSocket服务器
  2. 创建WebSocket客户端
  3. 服务器和客户端通信

创建WebSocket服务

在NodeJS创建WebSocket,需要借助http模块的createServer:

const fs = require("fs");
const http = require("http");
const Ws = require("ws").Server;

const service = http.createServer((request, response) => {
  if (request.url == '/') {
    fs.readFile("./index.html", (err, data) => {
      if (err) { return };
      response.writeHead(200, { "Content-Type": "text/html" });
      response.end(data);
    });
  }
})
service.listen(34421, () => {
  console.log("监听地址:http://127.0.0.1:34421")
})

let wsServer = new Ws({ server: service });
wsServer.on("connection", function (socket) {
  console.log("连接成功");
  socket.on("message", msg => {
    console.log("客户端信息", msg)
    socket.send("客户端发送的信息:" + msg + "," + new Date().getTime())
  })
})

WebSocket服务器端有这些事件:

  1. connection:客户端连接服务器
  2. disconnect:客户端断开连接
  3. message:获取客户端发送的信息
  4. error:发生错误

WebSocket客户端

这里的客户端就是前端页面:

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>

  <script>
    const ws = new WebSocket("ws://127.0.0.1:34421")
    ws.onopen = () => {
      ws.send("hello")
    }
    ws.onmessage = (ev) => {
      console.log("ev", ev)
    }
  </script>
</body>

</html>

前后端都启动后,打开前端页面的控制台,效果如下:

简单了解一下:NodeJS的WebSocket网络编程_客户端


后端的日志:

简单了解一下:NodeJS的WebSocket网络编程_服务器_02


这就是NodeJS的WebSocket网络编程


【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
VJpXGY9Pywpe