html5使用Websocket

html5使用Websocket

  • 前言
  • 1、html5中的websocket
  • [2、创建一个 WebSocket 对象](#2、创建一个 WebSocket 对象)
  • [3、监听 WebSocket 连接事件](#3、监听 WebSocket 连接事件)
  • [4、监听 WebSocket 收到消息事件](#4、监听 WebSocket 收到消息事件)
  • [5、监听 WebSocket 关闭事件](#5、监听 WebSocket 关闭事件)
  • [6、 监听 WebSocket 出错事件](#6、 监听 WebSocket 出错事件)
  • 7、发送消息
  • 8、整体代码

前言

在即时通讯的交互方式中websocket是一个很使用的方式,本篇文章讲解在html5中使用websocket

1、html5中的websocket

html5是自带websocket的我们可以直接使用但是websocket 是不支持请求头的我们可以使用websocket提供的协议头将需要给后台的信息进行携带

2、创建一个 WebSocket 对象

javascript 复制代码
socket = new WebSocket("ws://192.168.0.7:8081",['协议头带的信息']);

//协议头也可以支持字符串形式的发送
socket = new WebSocket("ws://192.168.0.7:8081",'协议头带的信息');

3、监听 WebSocket 连接事件

javascript 复制代码
socket.addEventListener("open", function (event) {
        console.log("连接事件成功:", event);
      });

4、监听 WebSocket 收到消息事件

javascript 复制代码
socket.addEventListener("message", function (event) {
        console.log("接收到的消息事件:", event.data);
        document.getElementById("wbHtml").innerHTML = "event.data";
      });

5、监听 WebSocket 关闭事件

javascript 复制代码
socket.addEventListener("close", function (event) {
        console.log("出错了关闭WebSocket:", event);
        document.getElementById("cWHtml").innerHTML = event;
      });

6、 监听 WebSocket 出错事件

javascript 复制代码
socket.addEventListener("error", function (event) {
        console.error("WebSocket error报错:", event);
      });

7、发送消息

javascript 复制代码
function sendMessage() {
      let message = document.getElementById("messageInput").value;
      if (message) {
        socket.send(message);
      }
    }

8、整体代码

javascript 复制代码
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>WebSocket 示例</title>
  </head>
  <body>
    <h1>WebSocket 示例</h1>
    <input type="text" id="messageInput" placeholder="请输入要发送的信息" />
    <button onclick="sendMessage()">发送消息</button>
  </body>
  <script>

    // 1. 创建一个 WebSocket 对象
    let socket;
    function cL() {
      // 1. 创建一个 WebSocket 对象
      socket = new WebSocket("ws://192.168.2.7:8081" "juName=username");

      // 2. 监听 WebSocket 连接事件
      socket.addEventListener("open", function (event) {
        console.log("连接事件成功:", event);
      });
      // 3. 监听 WebSocket 收到消息事件
      socket.addEventListener("message", function (event) {
        console.log("接收到的消息事件:", event.data);
        document.getElementById("wbHtml").innerHTML = "event.data";
      });
      // 4. 监听 WebSocket 关闭事件
      socket.addEventListener("close", function (event) {
        console.log("出错了关闭WebSocket:", event);
        document.getElementById("cWHtml").innerHTML = event;
      });
      // 5. 监听 WebSocket 出错事件
      socket.addEventListener("error", function (event) {
        console.error("WebSocket error报错:", event);
      });
    }

    // 6、webSocket发送消息
    function sendMessage() {
      let message = document.getElementById("messageInput").value;
      if (message) {
        socket.send(message);
      }
    }

    cL();
  </script>
</html>
相关推荐
陈随易9 小时前
副业搞钱点子之 Umami 统计如何赚钱
前端·后端·程序员
美狐美颜sdk10 小时前
直播APP开发中的视频帧处理:美颜SDK接入需要注意哪些细节?
大数据·前端·人工智能·音视频·美颜sdk
随风一样自由10 小时前
【React+TS71007】Next.js “use client” 误用导致 TS71007:客户端/服务端引入问题的完整排查与修复
前端·javascript·react.js
计算机魔术师10 小时前
1.4万亿没人接,OpenAI自己把价砍了1500亿
前端
非凡ghost10 小时前
Photo Supreme:专业高效的照片收藏管理专家
服务器·前端·人工智能·电脑·软件需求
zhangminghuan10 小时前
前端动态路由实现方案(Vue3 + VueRouter4)|后台权限路由实战
前端
一切皆是因缘际会11 小时前
大模型应用
前端·人工智能
SCandL15211 小时前
【无标题】
前端
你挚爱的强哥11 小时前
如何设置 Chrome 打开默认页面不要是360的主页https://hao.360.com/?src=lm&ls=n6205869099
前端·chrome·360首页劫持
总要学点什么11 小时前
第75篇:右键菜单控件——把一张会做事的菜单钉在鼠标落下的那点
前端·信息可视化·echarts·cesium·空间分析