iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >怎么在HTML5中使用WebSocket协议
  • 275
分享到

怎么在HTML5中使用WebSocket协议

2023-06-09 12:06:01 275人浏览 八月长安
摘要

怎么在HTML5中使用websocket协议?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。WebSocket介绍传统的Http也是一种协议,WEBSocket是

怎么在HTML5中使用websocket协议?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

WebSocket介绍

传统的Http也是一种协议,WEBSocket是一种协议,使用http服务器无法实现WebSocket,

2.1.浏览器支持情况

基本主流浏览器都支持

怎么在HTML5中使用WebSocket协议

2.2.优点

相对于http有如下好处:

客户端与服务器只建立一个tcp连接,可以使用更少的连接。

WebSocket服务器端可以主动推送数据到客户端,更灵活高效。

更轻量级的协议头,减少数据传送量。

对比轮训机制

怎么在HTML5中使用WebSocket协议

3、WebSocket用法

我们了解WebSocket是什么,有哪些优点后,怎么使用呢?

3.1.WebSocket创建

WebSocket使用了自定义协议,url模式与http略有不同,未加密的连接是ws://,加密的连接是wss://,WebSocket实例使用new WebSocket()方法来创建,

var ws = new WebSocket(url, [protocol] );

第一个参数 url, 指定连接的 URL。第二个参数 protocol 是可选的,指定了可接受的子协议。

3.2.WebSocket属性

当创建ws对象后,readyState为ws实例状态,共4种状态

0 表示连接尚未建立。

1 表示连接已建立,可以进行通信。

2 表示连接正在进行关闭。

3 表示连接已经关闭或者连接不能打开。

Tips:在发送报文之前要判断状态,断开也应该有重连机制。

3.3.WebSocket事件

在创建ws实例对象后,会拥有以下几个事件,根据不同状态可在事件回调写方法。

  • ws.onopen 连接建立时触发

  • ws.onmessage 客户端接收服务端数据时触发

  • ws.onerror 通信发生错误时触发

  • ws.onclose 连接关闭时触发

ws.onmessage = (res) => {  console.log(res.data);};ws.onopen = () => {  console.log('OPEN...');};ws.onclose=()=>{ console.log('CLOSE...');}

3.4.WebSocket方法

  • ws.send() 使用连接发送数据(只能发送纯文本数据)

  • ws.close() 关闭连接

4、Demo演示

了解WebSocket的一些api之后,趁热打铁,做一个小案例跑一下。

4.1.Node服务器端

WebSocket协议与node一起用非常好,原因有以下两点:

WebSocket客户端基于事件编程与Node中自定义事件差不多。

WebSocket实现客户端与服务器端长连接,Node基本事件驱动的方式十分适合高并发连接

创建一个webSocket.js如下:

const WebSocketServer = require('ws').Server;const wss = new WebSocketServer({ port: 8080 });wss.on('connection', function (ws) {    console.log('client connected');    ws.on('message', function (message) {        ws.send('我收到了' + message);    });});

打开windows命令窗口运行

怎么在HTML5中使用WebSocket协议

4.2.HTML客户端

新建一个index.html页面

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>webSocket小Demo</title></head><body>    <div class="container">        <div>            <input type="text" id="msg">            <button onclick="sendMsg()">发送报文</button>        </div>    </div>    <script>        const ws = new WebSocket('ws://localhost:8080');        ws.onmessage = (res) => {            console.log(res);        };        ws.onopen = () => {            console.log('OPEN...');        };        ws.onclose = () => {            console.log('CLOSE...');        }        function sendMsg() {            let msg = document.getElementById('msg').value;            ws.send(msg);        }    </script></body>

打开浏览器依次输入字符1,2,3,每次输入完点击发送报体,可见在ws.onmessage事件中res.data中返回来我们发的报文

怎么在HTML5中使用WebSocket协议

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注编程网精选频道,感谢您对编程网的支持。

--结束END--

本文标题: 怎么在HTML5中使用WebSocket协议

本文链接: https://www.lsjlt.com/news/255912.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 怎么在HTML5中使用WebSocket协议
    怎么在HTML5中使用WebSocket协议?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。WebSocket介绍传统的http也是一种协议,WebSocket是...
    99+
    2023-06-09
  • HTML5中WebSocket协议的实现原理是什么
    这篇文章将为大家详细讲解有关HTML5中WebSocket协议的实现原理是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。WebSocket协议的目的是为了工作于现有的网络基础设施。作为这...
    99+
    2023-06-09
  • vue3+ts+Vuex中使用websocket协议方式
    目录vue3+ts+Vuex使用websocket协议在stroe中vue3中vue封装websocket封装的socket.js文件内容使用方法vue3+ts+Vuex使用webs...
    99+
    2022-11-13
  • 怎么在Java中使用reactive stream协议
    这篇文章将为大家详细讲解有关怎么在Java中使用reactive stream协议,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。什么是reactive stream上面我们讲到了reacti...
    99+
    2023-06-15
  • Websocket通信协议在数字孪生中的应用
    目录写在前面数字孪生中的通讯协议Websocket 是什么Websocket 配置基于 Node.js 的 Websocket 服务器搭建基于Vue 的 Websocket 客户端搭...
    99+
    2022-11-13
  • 怎么在python中使用迭代器协议
    这篇文章将为大家详细讲解有关怎么在python中使用迭代器协议,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。python的五大特点是什么python的五大特点:1.简单易学,开发程序时,专注...
    99+
    2023-06-14
  • 如何在HTML5中使用WebSocket
    本篇文章给大家分享的是有关如何在HTML5中使用WebSocket,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。客户端代码:<html><head>&l...
    99+
    2023-06-09
  • WebSocket协议在在线投票应用中的实际应用经验分享
    引言:随着互联网的普及和技术的不断进步,越来越多的应用程序在实现实时通信和交互功能时选择了WebSocket协议。本文将以在线投票应用为例,介绍WebSocket协议在该应用中的实际应用经验,并提供具体的代码示例。一、背景介绍在线投票应用是...
    99+
    2023-10-21
    websocket 在线投票 实际应用
  • 怎么在HTML5中使用websocket实现直播功能
    这篇文章给大家介绍怎么在HTML5中使用websocket实现直播功能,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。录像页面HTML结构<video autoplay id="sou...
    99+
    2023-06-09
  • 怎么在HTML5中使用WebSocket实现一个聊天室
    本篇文章给大家分享的是有关怎么在HTML5中使用WebSocket实现一个聊天室,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。1)注册注册要处理几个事情,分别是注册完成后获取当...
    99+
    2023-06-09
  • HTML5中的WebSocket API怎么用
    本篇内容介绍了“HTML5中的WebSocket API怎么用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成...
    99+
    2022-10-19
  • 如何在java中的使用UDP协议
    本篇文章为大家展示了如何在java中的使用UDP协议,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。UDP是面向无连接的通讯协议,由于通讯不需要连接,所以可以实现广播发送。UDP通讯时不需要接收方确认...
    99+
    2023-06-06
  • nginx中怎么配置使用proxy protocol协议
    本文小编为大家详细介绍“nginx中怎么配置使用proxy protocol协议”,内容详细,步骤清晰,细节处理妥当,希望这篇“nginx中怎么配置使用proxy protocol协议”文章能帮助大家解决疑惑,下面跟着小...
    99+
    2023-06-30
  • WebSocket协议在Web应用中的兼容性和兼容性解决方案
    随着Web应用的快速发展,实时通信成为了构建现代化网络应用的重要需求。WebSocket协议作为一种基于TCP的全双工通信协议,被广泛应用于实时通信场景,例如在线聊天、多人游戏和实时数据推送等。然而,WebSocket协议在不同的浏览器和操...
    99+
    2023-10-21
    Web应用 兼容性解决方案 WebSocket协议
  • 如何在Django框架中使用HTTP协议?
    Django是一个流行的Python web框架,它支持多种协议,包括HTTP。在这篇文章中,我们将学习如何在Django框架中使用HTTP协议。 HTTP是一种客户端-服务器协议,用于从web服务器传输超文本到web浏览器。Django框...
    99+
    2023-06-27
    http apache django
  • 在netty中如何使用native传输协议
    本篇内容主要讲解“在netty中如何使用native传输协议”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“在netty中如何使用native传输协议”吧!简介对于IO来说,除了传统的block ...
    99+
    2023-06-30
  • WebSocket协议在实时通知系统中的应用实践和兼容性考量
    摘要:随着移动互联网的快速发展,实时通知系统变得越来越重要。WebSocket协议作为一种新兴的实时通信技术,被广泛应用于实时通知系统,本文将介绍WebSocket协议的基本概念和原理,并针对实际应用场景给出了具体的代码示例。同时,我们也会...
    99+
    2023-10-21
    兼容性 websocket 实时通知
  • 在c#中使用Socket实现一个tcp协议
    这篇文章给大家介绍在c#中使用Socket实现一个tcp协议,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。一、概述UDP和TCP是网络通讯常用的两个传输协议,C#一般可以通过Socket来实现UDP和TCP通讯,由于....
    99+
    2023-06-06
  • linux如何在家中使用SSH和SFTP协议
    这篇文章给大家分享的是有关linux如何在家中使用SSH和SFTP协议的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。通过 SSH 和 SFTP 协议,我们能够访问其他设备,有效而且安全的传输文件等等。几年前,我决...
    99+
    2023-06-16
  • 在netty中使用native传输协议的方法
    目录简介native传输协议的依赖netty本地传输协议的使用总结简介 对于IO来说,除了传统的block IO,使用最多的就是NIO了,通常我们在netty程序中最常用到的就是NI...
    99+
    2022-11-13
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作