轻松掌握 WebSocket API 的使用方法

这篇具有很好参考价值的文章主要介绍了轻松掌握 WebSocket API 的使用方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

轻松掌握 WebSocket API 的使用方法,软件测试,websocket,网络协议,网络,软件测试,功能测试,自动化测试,程序人生

WebSocket API 详解

WebSocket API 是 HTML5 标准化之后的一项 API,它可用于建立客户端和服务器之间的双向通信连接。

轻松掌握 WebSocket API 的使用方法,软件测试,websocket,网络协议,网络,软件测试,功能测试,自动化测试,程序人生

WebSocket 构造函数

用于创建并返回一个 WebSocket 对象。

示例:

//创建WebSocket对象,并指定服务端地址
var ws = new WebSocket("ws://localhost:8080");

WebSocket.readyState

表示 WebSocket 连接的状态。

示例:

if (ws.readyState === WebSocket.OPEN) {
    //connection is open
}

WebSocket.bufferedAmount

用于获取 WebSocket 对象在发送缓冲区中的字节数。

示例:

var bufferedAmount = ws.bufferedAmount;

WebSocket.extensions

用于获取 WebSocket 对象所用的扩展。

示例:

var extensions = ws.extensions;

WebSocket.protocol

用于获取 WebSocket 对象使用的协议。

示例:

var protocol = ws.protocol;

WebSocket.url

用于获取 WebSocket 连接的 URL。

示例:

var url = ws.url;

WebSocket.send()

用于向服务器发送数据。

示例:

ws.send("Hello, server!");

WebSocket.close()

用于关闭 WebSocket 连接。

示例:

ws.close();

WebSocket.onerror

用于指定一个函数在 WebSocket 连接发生错误时被调用。

示例:

ws.onerror = function(error) {
    console.log(error);
};

WebSocket.onopen

用于指定一个函数在WebSocket连接成功建立时被调用

示例:

ws.onopen = function() {
    console.log("Connection open!");
};

WebSocket.onclose

用于指定一个函数在 WebSocket 连接关闭时被调用。

示例:

ws.onclose = function() {
    console.log("Connection closed!");
};

WebSocket.onmessage

用于指定一个函数在 WebSocket 接收到服务器发送的数据时被调用。

示例:

ws.onmessage = function(event) {
    console.log("Data received: " + event.data);
};

以上就是WebSocket对象的所有API以及相应的示例。

前端实践 WebSocket

Nodejs 起一个 WebSocket 服务

我们需要使用 Nodejs 去起一个 WebSocket 服务,具体代码如下:

 // 引入nodejs-websocket
const ws = require('nodejs-websocket');
// 定义监听的host地址跟port端口
const HOST = '127.0.0.1'
const PORT = 3001;
// 创建ws服务
const service = ws.createServer((conn) => {
  conn.on('text', (message) => {
    // 当收到消息的时候就开始定时推送
    console.log('message', message);
    setInterval(() => {
      // 随机推送message里的内容
      conn.sendText(`Now is ${new Date().getTime()}`);
    }, 1 * 1000);
  });
}).listen(PORT, HOST, () => {
  console.log('service---success');
});

页面编写

我们需要创建一个 index.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">
  <title>Document</title>
  <script>
    window.onload = () => {
        if ('WebSocket' in window) {
            // 创建websocket连接
            let ws = new WebSocket('ws://127.0.0.1:3001/websocket');
            // 成功连接的时候推送一条消息,此时服务端就可以开始推送数据了
            ws.onopen = () => {
                console.log('websocket success---');
                ws.send('success');
            }
            ws.onmessage = (message) => {
                let data = message.data;
                console.log('get websocket message---', data);
            }
            ws.onerror = () => {
                console.error('websocket fail');
            }
        } else {
            console.error('dont support websocket');
        };
    };
</script>

</head>
<body>
  
</body>
</html>

启动页面

在 index.html 右键,并打开此文件:

轻松掌握 WebSocket API 的使用方法,软件测试,websocket,网络协议,网络,软件测试,功能测试,自动化测试,程序人生

查看效果

可以看到后端先接收到前端的信息,open 建立成功:

轻松掌握 WebSocket API 的使用方法,软件测试,websocket,网络协议,网络,软件测试,功能测试,自动化测试,程序人生

然后建立连接后,后端一直在为前端输出信息:

轻松掌握 WebSocket API 的使用方法,软件测试,websocket,网络协议,网络,软件测试,功能测试,自动化测试,程序人生

调试 WebSocket 服务

如果你正在编写 WebSocket 服务并需要进行调试,可以使用 Apifox 来调试 WebSocket 服务~

谷歌插件

Apifox 有 Web端 和 客户端,如果你使用的是 Web端,想要调试本地服务,需要安装 Apifox 的 谷歌插件。

下载地址:Apifox 谷歌浏览器插件。

轻松掌握 WebSocket API 的使用方法,软件测试,websocket,网络协议,网络,软件测试,功能测试,自动化测试,程序人生

新建 WebSocket 请求

WebSocket 是客户端和服务端之间的长链接,因此你需要在 Apifox 中创建一个 WebSocket 请求,以便跳转到 Apifox 界面并填写相应的请求信息

  • 点击创建按钮
  • 填入 WebSocket 服务的地址
  • 可以选择填写 Message 和 Params

轻松掌握 WebSocket API 的使用方法,软件测试,websocket,网络协议,网络,软件测试,功能测试,自动化测试,程序人生

Message 和 Params

Message

在 Message 中,你可以填写要传递到服务端的信息。服务端将接收你发送的信息。

轻松掌握 WebSocket API 的使用方法,软件测试,websocket,网络协议,网络,软件测试,功能测试,自动化测试,程序人生

Params

在传输过程中,你也可以携带参数,可以通过在地址上添加查询参数完成,可以携带的数据类型包括:

  • string
  • integer
  • number
  • array

轻松掌握 WebSocket API 的使用方法,软件测试,websocket,网络协议,网络,软件测试,功能测试,自动化测试,程序人生

保存请求

写完所需信息之后,可以点击 保存按钮,进行保存,方便下次可继续调用。

轻松掌握 WebSocket API 的使用方法,软件测试,websocket,网络协议,网络,软件测试,功能测试,自动化测试,程序人生

连接、发送 WebSocket 请求

连接 WebSocket 服务

我们想要跟服务端进行 WebSocket 通信,就需要先建立一个 WebSocket 连接,我们只需要点击 连接 按钮。

轻松掌握 WebSocket API 的使用方法,软件测试,websocket,网络协议,网络,软件测试,功能测试,自动化测试,程序人生

连接成功之后,Apifox 有成功的提示:

轻松掌握 WebSocket API 的使用方法,软件测试,websocket,网络协议,网络,软件测试,功能测试,自动化测试,程序人生

服务端那边也会因为连接成功,而做出响应。

发送 WebSocket 请求

接着我们就可以跟服务端进行 WebSocket 通信了。

我们可以使用 Apifox 点击发送按钮向服务端进行发送 Message、Params。

轻松掌握 WebSocket API 的使用方法,软件测试,websocket,网络协议,网络,软件测试,功能测试,自动化测试,程序人生

与 WebSocket 服务通信

发送之后,服务端也可以向客户端发送信息,例如我这里,我设置服务端每秒向客户端发送当时的时间戳~

这就是 Apifox 的 WebSocket 功能,非常方便。

轻松掌握 WebSocket API 的使用方法,软件测试,websocket,网络协议,网络,软件测试,功能测试,自动化测试,程序人生

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

轻松掌握 WebSocket API 的使用方法,软件测试,websocket,网络协议,网络,软件测试,功能测试,自动化测试,程序人生

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

轻松掌握 WebSocket API 的使用方法,软件测试,websocket,网络协议,网络,软件测试,功能测试,自动化测试,程序人生文章来源地址https://www.toymoban.com/news/detail-781410.html

到了这里,关于轻松掌握 WebSocket API 的使用方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • WebSocket的使用方法(JS前端)

    先来一个常用例子 封装的代码 上面的代码就够用,也可以查看我封装好的 WebSocket 代码(包括心跳机制):点击查看 下面详细说明常用的属性和方法 更全面的官网的文档可以去这里看:点击查看 下面是我总结的内容 WebSocket WebSocket 对象提供了用于创建和管理 WebSocket 连接,

    2024年02月02日
    浏览(40)
  • C#程序设计——Windows应用程序开发,1、初步掌握Windows应用程序的设计方法。2、掌握常用窗体控件的使用方法。

    初步掌握Windows应用程序的设计方法。 掌握常用窗体控件的使用方法。 1、设计一个Windows应用程序,创建一个用于添加学生个人基本信息的窗体,窗体下方法同时滚动信息“天行健,君子以自强不息!”。   要示如下: 如图1所示,设计窗体界面控件的布局 图1 学生信息管理

    2024年02月10日
    浏览(85)
  • Unity中使用WebSocket (ws://)的方法

    WebSocket使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在WebSocket API中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。 其实从历史上来讲,websocket是为了克服http无法双向通信而引

    2024年02月09日
    浏览(50)
  • 即时通信的方法和webSocket的具体使用

    之前遇到过需要即时通讯的场景,刚开始使用的是通过轮询的方式,定时器3秒向服务器请求一次数据,后面发现如果在手机端长时间打开使用此功能的页面,可能会发生手机发热,甚至卡顿的现象。最后改用webSocket,可以实现全双工通信,让服务器主动向客户端发送请求。

    2024年02月15日
    浏览(35)
  • 掌握AI智能化办公:ChatGPT使用方法与技巧指南

    💂 个人网站:【 海拥】【神级代码资源网站】【办公神器】 🤟 基于Web端打造的:👉轻量化工具创作平台 💅 想寻找共同学习交流的小伙伴,请点击【全栈技术交流群】 ChatGPT简介 ChatGPT是基于GPT(Generative Pre-trained Transformer)模型的一种应用。GPT模型通过大规模的预训练数据

    2024年02月05日
    浏览(106)
  • 五分钟快速掌握Python中dict(字典)的详细使用方法

    目录 概念: dict的定义格式: dict的使用方法: 定义空字典的两种方法: dict.clear:  copy: copy:浅拷贝 deepcopy:深拷贝 get:  items:  keys:  popitem:  setdefault:  update:  values: dict----dictionary  字典: 根据去获取内容 不能重复 必须是不可变的数据类型

    2024年02月12日
    浏览(46)
  • Python-Websocket的介绍及使用方法

    👏👏👏 哈喽!大家好,我是【太阳打伞】,一位热爱分享各种技术的博主!😍😍😍 ⭐【太阳打伞】的创作宗旨:每一条命令都亲自执行过,每一行代码都实际运行过,每一种方法都真实实践过,每一篇文章都良心制作过。✊✊✊ ⭐【太阳打伞】的博客中所有涉及命令、

    2023年04月15日
    浏览(36)
  • 扩展Nginx的无限可能:掌握常见扩展模块和第三方插件的使用方法

    Nginx是一款高性能的开源Web服务器和反向代理服务器。它具有模块化的架构,可以通过扩展模块和插件来增强其功能。在本文中,我将围绕Nginx的扩展模块和插件进行讲解,并提供一些常见的扩展模块和第三方插件的示例。 Nginx的扩展模块是编译到Nginx中的可选组件,可以通过

    2024年02月08日
    浏览(43)
  • 48掌握私有云平台 OpenStack 的基本服务和使用方法,包括 Nova、Glance

    Nova 是 OpenStack 的计算组件,用于管理和调度计算资源。它可以管理虚拟机实例、安全组、弹性 IP、浮动 IP 等资源。 nova-api nova-api 是 Nova 的 API 服务,它接收来自用户和其他服务的 API 请求,并将它们转换为后台计算资源管理系统的操作。 nova-scheduler nova-scheduler 是 Nova 的调度

    2024年02月07日
    浏览(51)
  • Android中okhttp的websocket的详细使用方法(加断线重连)

    介绍之类的就不多讲了,懒得讲也未必有别人整理的清晰,直接上代码 使用:

    2024年02月15日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包