html5使用Websocket

html5使用Websocket

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

前言

在即时通讯的交互方式中websocket是一个很使用的方式,本篇文章讲解在html5中使用websocket
在这里插入图片描述

1、html5中的websocket

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

2、创建一个 WebSocket 对象

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

3、监听 WebSocket 连接事件

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

4、监听 WebSocket 收到消息事件

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

5、监听 WebSocket 关闭事件

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

6、 监听 WebSocket 出错事件

socket.addEventListener("error", function (event) {console.error("WebSocket error报错:", event);});

7、发送消息

function sendMessage() {let message = document.getElementById("messageInput").value;if (message) {socket.send(message);}}

8、整体代码

<!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>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/749823.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

(学习日记)2024.03.12:UCOSIII第十四节:时基列表

写在前面&#xff1a; 由于时间的不足与学习的碎片化&#xff0c;写博客变得有些奢侈。 但是对于记录学习&#xff08;忘了以后能快速复习&#xff09;的渴望一天天变得强烈。 既然如此 不如以天为单位&#xff0c;以时间为顺序&#xff0c;仅仅将博客当做一个知识学习的目录&a…

redis中List和hash数据类型

list类型是用来存储多个有序的字符串的&#xff0c;列表当中的每一个字符看做一个元素&#xff0c;一个列表当中可以存储一个或者多个元素&#xff0c;redis的list支持存储2^32-1个元素。redis可以从列表的两端进行插入&#xff08;pubsh&#xff09;和弹出&#xff08;pop&…

【安全类书籍-3】XSS跨站脚剖析与防御

目录 内容简介 作用 下载地址 内容简介 这本书涵盖以下几点: XSS攻击原理:解释XSS是如何利用Web应用未能有效过滤用户输入的缺陷,将恶意脚本注入到网页中,当其他用户访问时被执行,实现攻击者的目的,例如窃取用户会话凭证、实施钓鱼攻击等。 XSS分类:分为存储型XSS(…

网页中 link 和@import介绍

网页中 link 和import介绍 网页中&#xff0c;link和import都是用来引入外部样式表——CSS&#xff08;层叠样式表&#xff09;文件的方法&#xff0c;它们可以让我们将样式表分离出来&#xff0c;提高代码的可维护性和复用性。 在HTML中&#xff0c;用于引入外部样式表的主要…

【IC设计】Verilog线性序列机点灯案例(三)(小梅哥课程)

声明&#xff1a;案例和代码来自小梅哥课程&#xff0c;本人仅对知识点做做笔记&#xff0c;如有学习需要请支持官方正版。 文章目录 该系列目录设计目标设计思路RTL及Testbench代码RTL代码Testbench代码 仿真结果上板视频 该系列目录 Verilog线性序列机点灯案例(一)&#xff…

c语言:汽车时代

汽车时代 任务描述 据说看车牌可以知道车辆归属地点&#xff0c;已知黑龙江省车牌归属地的基本规则是&#xff1a; 黑A: 哈尔滨 黑B: 齐齐哈尔 黑C: 牡丹江 黑D: 佳木斯 黑E: 大庆 黑F: 伊春 黑G: 鸡西 黑H: 鹤岗 黑J: 双鸭山 黑K: 七台河 黑L: 松花江地区 黑M: 绥化 黑N: 黑…

快速掌握Adroid基础(入门)

开发环境搭建 学习Android Studio的安装和配置 学习如何安装和配置Android Studio是进入Android开发世界的第一步。以下是一个简明的指南来帮助你开始。 1. 下载Android Studio 访问官方网站 Android Studio 下载最新版本的Android Studio。网站会自动检测你的操作系统并推…

外卖点餐系统 |基于springboot框架+ Mysql+Java+JSP技术+Tomcat的外卖点餐系统 设计与实现(可运行源码+设计文档)

推荐阅读100套最新项目 最新ssmjava项目文档视频演示可运行源码分享 最新jspjava项目文档视频演示可运行源码分享 最新Spring Boot项目文档视频演示可运行源码分享 目录 前台功能效果图 骑手功能模块 商家功能模块 管理员功能登录前台功能效果图 用户功能模块 系统功能设…

获取扇区航班数

1、Spark Streaming清洗服务&#xff0c;接收kafka中Topic为“task_ATC”中的数据&#xff0c;保存在MySQL中。 打开SpringBoot项目BigData-Etl-KongGuan 请认真阅读&#xff1a;在前面的“使用Spark清洗统计业务数据并保存到数据库中”任务阶段中应该已经完成了所有Topic的数…

邻接表存储带权的无向图(c++题解)

题目描述 给出一个无向带权图&#xff0c;顶点数为n&#xff0c;边数为m。 输入格式 第一行两个整数n&#xff0c;m&#xff0c; 接下来有m行&#xff0c;每行3个整数u,v,w,表示点u到点v有一条边,边权为w。 输出格式 第i行输出第点i的所有邻接点&#xff0c;按照点i到该点…

web学习笔记(三十四)

目录 1.面向对象的特征 2.面向对象的继承方式 3.正则表达式 3.1如何创建正则表达式 3.2边界符 3.2[ ]方括号 3.3正则表达式中相关的方法汇总 1.面向对象的特征 封装性&#xff1a;就像是把东西放在一个密封的盒子里一样&#xff0c;只让外部使用者通过指定的接口来访…

python入门(二)

python的安装很方便&#xff0c;我们这里就不再进行讲解&#xff0c;大家可以自己去搜索视频。下面分享一下Python的入门知识点。 执行命令的方式 在安装好python后&#xff0c;有两种方式可以执行命令&#xff1a; 命令行程序文件&#xff0c;后缀名为.py 对于命令行&…

Github 2024-03-16 开源项目日报Top10

根据Github Trendings的统计,今日(2024-03-16统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Python项目5非开发语言项目2TypeScript项目1C++项目1Lua项目1Swift项目1《Hello 算法》:动画图解、一键运行的数据结构与算法教程 创建周期:4…

Linux服务器(Debian系)包含UOS安全相关巡检shell脚本

#!/bin/bash# Define output file current_date$(date "%Y%m%d") # Gets the current date in YYYYMMDD format output_file"server_security_inspection_report_${current_date}.txt"# Empty the file initially echo > $output_file# 获取巡检时间 (…

MVCC(多版本并发控制)原理实现

MVCC&#xff08;多版本并发控制&#xff09;原理实现 一、实现组件二、数据可见性判断三、可见性描述 多版本并发控制&#xff08;MVCC&#xff0c;Multi-Version Concurrency Control&#xff09;&#xff0c;是一种并发控制的方法。 MySQL InnoDB巧妙地利用了隐藏列、事务ID…

暴雨高性能分布式存储为AI提供坚实数据存力

随着两会的圆满落幕&#xff0c;新质生产力和人工智能的发展成为社会各界热议的焦点。总理在两会后的首次调研中&#xff0c;特别强调了新质生产力和人工智能的重要性&#xff0c;这无疑为人工智能产业的蓬勃发展注入了新的动力。 年初&#xff0c;Sora所引领的人工智能热潮更…

Selenium WebDriver提供By.CSS_SELECTOR定位元素方法

By.CSS_SELECTOR 是 Selenium WebDriver 提供的一种定位元素的方法&#xff0c;它允许使用 CSS 选择器来定位页面上的元素。以下是常见的 CSS 选择器语法&#xff1a; 1. **标签选择器&#xff08;Tag Selector&#xff09;**&#xff1a;通过元素的标签名选择元素。 - 示例…

【入门】保研/考研408机试-基本知识点(输入/出、基本数学、字符串)

目录 一、基础结构方面 1.1调用标准库* 1.2输入输出方面 1.2.1保留几位小数输出* 1.2.2字符/字符串* 1.2.3输入n个数&#xff08;循环用&#xff09; 1.3i和i 二、数学方面 2.1绝对值 2.2幂次方 2.3取整问题 2.4涉及分数计算 三、字符串方面 3.1字符比较 例题&…

Linux中的音频开发

在Linux环境下进行音频开发&#xff0c;你可能会面临多种挑战和任务&#xff0c;从基础的音频播放和录制到复杂的音频处理和流媒体传输。以下是一些音频开发课题和建议&#xff1a; ### 题目1&#xff1a;基础音频播放 **描述**&#xff1a;开发一个简单的命令行应用程序&…

矩阵消元-MIT

文章目录 1. 行变换消元法 1. 行变换消元法 假设我们有一个方程组表示如下&#xff1a; x 2 y z 2 ; 3 x 8 y z 12 ; 4 y z 2 (1) x2yz2;\quad 3x8yz12;\quad4yz2\tag{1} x2yz2;3x8yz12;4yz2(1)矩阵表示如下&#xff1a; [ 1 2 1 3 8 1 0 4 1 ] → [ 1 2 1 0 2 − 2…