html websocket的基本使用

html websocket的基本使用

html 复制代码
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <style>
      div {
        width: 200px;
        height: 200px;
        border: 1px solid #30897c;
      }
    </style>
    <title>聊天室</title>
  </head>
  <body>
    <input type="text" placeholder="输入你的内容" name="" id="" />
    <button>发送请求</button>
    <!-- 显示结果 -->
    <div></div>
  </body>
</html>

<script>
  var input = document.querySelector("input");
  var button = document.querySelector("button");
  var div = document.querySelector("div");
  // 演示websocket在浏览器端如何使用
  // H5已经直接提供了websocket的API,所以我们可以直接使用

  // 1.创建websocket
  // 参数1:websocket的服务器地址

  var socket = new WebSocket("ws://localhost:3000"); //看02里面端口号是多少

  // open:当和websocket服务器连接成功的时候触发
  socket.addEventListener("open", function () {
    div.innerHTML = "连接服务成功了!";
  });

  // 3,主动给websocket服务发送消息
  button.addEventListener("click", () => {
    var value = input.value;
    socket.send(value);
  });

  // 4.接受websocket服务的数据
  socket.addEventListener("message", (e) => {
    console.log(e.data);
    div.innerHTML = e.data;
  });

  socket.addEventListener("close", () => {
    console.log("服务器断开。。。");
  });
</script>
相关推荐
Emily156853598703 小时前
Emerson 1C31129G03 Analog Input Module
java·开发语言·前端·plc·emerson·1c31129g03·input module
To_OC7 小时前
面试被问了三回三栏布局,这次我终于把 BFC 那层窗户纸捅破了
前端·css·面试
To_OC8 小时前
啃完 TS 工具类型我发现:Pick 和 Omit 原来就是一层窗户纸
前端·面试·typescript
风月说与山鬼9 小时前
三、大括号语法
前端·react.js
kyriewen9 小时前
我把最常踩的8个CORS跨域报错整理了一遍——第8个去年还不存在
前端·javascript
Csvn10 小时前
🕰️ 闭包 + setTimeout 的 5 个经典陷阱:为什么定时器看到的永远不是最新的值?
前端
lilian23310 小时前
Harmony os 技术实战|拼豆制图27:用单字符编码承载 50 张 70×70 图纸
前端·数据库·华为·harmonyos
CarIise11 小时前
CSS选择器与样式关联
前端·css·tensorflow
里欧跑得慢12 小时前
CSS 模块化架构的演进:BEM、CSS Modules 到 CSS-in-JS 的反思
前端·css·flutter·web·css-in-js