js - WebSocket应用小案例
WebSocket 对象提供了用于创建和管理 WebSocket 连接,以及可以通过该连接发送和接收数据的 API。
// 判断浏览器是否支持websocket
if(window.WebSocket){console.log("您的浏览器支持WebSocket");//创建WebSocket连接var ws = new WebSocket("ws://{ip}:{port}");// 当一个 WebSocket 连接成功时触发。ws.onopen = function(){console.log("socket连接成功!");ws.send("hello");}// 当通过 WebSocket 收到数据时触发。ws.onmessage = function(e){console.log(e.data);messageHandler(e.data);}//当一个 WebSocket 连接被关闭时触发。ws.onclose = function(e){console.log("scoket关闭!");}// 当一个 WebSocket 连接因错误而关闭时触发,例如无法发送数据时。ws.onerror = function(e){console.log(error);}// 对接收到的消息进行处理messageHandler(msg){// 解析数据}
}else{console.log("您的浏览器不支持WebSocket");
}
向服务器发送数据:
数据作可以是字符串,Blob,或者ArrayBuffer。
- 以字符串的形式发送数据
sendMessage(){ws.send("这是一个字符串");
}
- 使用 JSON 发送对象
sendMessage(){var object = {name: "数据对象",type: "发送JSON"}ws.send(JSON.stringify(object));
}
处理接收到的消息:
- 接收到的数据是JOSN
messageHandler(msg){// 解析JOSN数据var obj = JSON.parse(msg);// 根据解析到的数据分别调用相应的处理方法// ...
}
参考资料:WebSocket接口文档
js - WebSocket应用小案例相关推荐
- JavaScript 国庆倒计时小案例
本次实现js国庆倒计时小案例 开发工具与关键技术:Visual Studio 2015 JavaScript 当然 首先还是先写出大概样式如下图: 之后便是我的css样式了: 下图便是在页面加载完成的 ...
- golang gin框架gorilla的websocket小案例
golang gin框架中gorilla的websocket案例 在gin框架下 导入包 "github.com/gorilla/websocket" r.GET("/t ...
- 【Node.js学习小案例】DNS域名解析 一
Node.js 百度百科: Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台, 用来方便地搭建快速的 易于扩展的网络应用· Node.js 借助事件驱动, 非阻塞I/ ...
- javaScript小案例------js实现手风琴效果篇
原生js书写手风琴效果 js手风琴效果 第一种方法 手风琴需求 html和css: html: css: js animate.js index.js 第二种方法 js手风琴效果 我用了两种方法来完成 ...
- js定时器实现倒计时小案例
开发工具与关键技术: vscode /javascript 撰写时间:2022/8/19 案例介绍 倒计时是网页中经常看到的一个小功能,其实也很简单,掌握了js的日期对象就能写出来了,注意获取时分秒的 ...
- Vue里使用three.js实现3D模型小案例
Vue里使用three.js实现3D模型小案例 1.下载three.js包 npm install three --save 或者 yarn add three --save 2.组件代码 <t ...
- JS小案例总结(JS基础案例)
JS小案例总结 JS小案例总结 案例一:JS实现tab选项卡功能 案例二:JS实现盒子拖拽功能 案例三:JS实现导航条吸顶效果 案例四:JS实现图片懒加载结构 案例五:JS实现简易弹幕功能 案例六:J ...
- JS小案例--关于时间--限时购
JS小案例–关于时间–限时购 界面显示和功能实现 功能实现 设置了一个特定的日期 和当前时间 相差 实现折合成 天 小时 分钟 秒 使用性 :像某宝的商品限时购 所以很实用 用到的知识点 为日期对象设 ...
- js轮播图按钮小案例
案列介绍 我们在写网页和app的时候经常看到轮播图,通过小按钮或者左右箭头按钮操作切换图片,点击到当前的小按钮并改变它的样式,并实现切换图片,本案例是写一个切换按钮的小案例. 一.大概步骤 注意:有很 ...
最新文章
- 【透明版九宫格背景图片】仅依靠background的几个属性组合搭配出酷炫的透明背景卡片效果→适用于大数据可视化、数据大屏展示页面
- 《LeetCode力扣练习》第11题 C语言版 (做出来就行,别问我效率。。。。)
- pycharm中导入allure提示模块不存在解决方法
- placement new 操作符
- 新安装和已安装nginx如何添加未编译安装模块/补丁
- linux安装pip
- 地图市场三足鼎立:诺基亚官方确认与亚马逊合作
- VIBE算法(二)——算法总结
- oa系统源码 python_区块链技术基于springboot的办公oa系统实现源代码
- SQL Server 2019重新安装失败的处理方法
- 虚拟机SSH免密登录配置
- 20组事后诸葛亮会议总结
- LF-YOLO: A Lighter and Faster YOLO for Weld Defect Detection of X-ray Image
- 基于LSTM-Attention模型的光伏电站发电量预估(1)
- 单片机应用系统设计技术——LCD滚动显示汉字
- Unity加载火炬之光的场景
- 第9章 虚拟专用网 技术原理与应用
- 报驾校,拿驾照,学车各种不容易
- 稀疏表示理论问题优化模型
- Openlayers中加载GeoJson文件显示地图
热门文章
- 【量化君的不定时更新0409】军工大涨,国家队“进场”?
- request基本使用教程
- Cache的基本知识
- mysql 预处理语句报错_mysqli与MySQL交互的预处理语句
- ggplot2绘图:qPCR数据箱式图叠加散点图1
- 2023最新ChatGPT商业运营网站源码+支持ChatGPT4.0+新增GPT联网功能+支持ai绘画+实时语音识别输入+用户会员套餐+免费更新版本
- docker配置服务器环境
- 高通滤波去除基线漂移matlab,去基线漂移
- 读论文-----基于单通道表面肌电信号的手势识别 Hand Gestures Recognition Based on One-Channel Surface EMG Signal
- 在职笔记1丨新人切忌空而广?面面俱到实则啥也没点到