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>
相关推荐
小彭努力中10 分钟前
205.Vue3 + OpenLayers:加载动画,采用 CSS 的 @keyframes 方式
前端·css·vue.js·openlayers·cesium·webgis
木斯佳13 分钟前
前端八股文面经大全:上海威派格前端实习(2026-05-07)·面经深度解析
前端
_Twink1e15 分钟前
基于Vue的纯前端的库存销售系统
前端·vue.js·vue·web
幽络源小助理22 分钟前
音频在线剪切助手网页版源码 – 纯前端HTML单文件免费分享
前端·音视频
陈振wx:zchen200822 分钟前
前端-面试题-Vue
前端·vue.js
计算机安禾24 分钟前
【c++面向对象编程】第5篇:类与对象(四):赋值运算符重载
java·前端·c++
Moment24 分钟前
从 beginWork 到 completeWork,Fiber 树是怎么“盖”出来的❓❓❓
前端·javascript·面试
Java面试题总结27 分钟前
.NET 8 Web开发入门(三):解构引擎——依赖注入(DI)与中间件管道
前端·中间件·.net
不会写DN30 分钟前
为什么需要 @types/react? 解决“无法找到模块 react 的声明文件”报错
前端·react.js·前端框架
右耳朵猫AI32 分钟前
React技术周刊 2026年第14周
前端·react.js·前端框架