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应用小案例相关推荐

  1. JavaScript 国庆倒计时小案例

    本次实现js国庆倒计时小案例 开发工具与关键技术:Visual Studio 2015 JavaScript 当然 首先还是先写出大概样式如下图: 之后便是我的css样式了: 下图便是在页面加载完成的 ...

  2. golang gin框架gorilla的websocket小案例

    golang gin框架中gorilla的websocket案例 在gin框架下 导入包 "github.com/gorilla/websocket" r.GET("/t ...

  3. 【Node.js学习小案例】DNS域名解析 一

    Node.js 百度百科: Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台, 用来方便地搭建快速的 易于扩展的网络应用· Node.js 借助事件驱动, 非阻塞I/ ...

  4. javaScript小案例------js实现手风琴效果篇

    原生js书写手风琴效果 js手风琴效果 第一种方法 手风琴需求 html和css: html: css: js animate.js index.js 第二种方法 js手风琴效果 我用了两种方法来完成 ...

  5. js定时器实现倒计时小案例

    开发工具与关键技术: vscode /javascript 撰写时间:2022/8/19 案例介绍 倒计时是网页中经常看到的一个小功能,其实也很简单,掌握了js的日期对象就能写出来了,注意获取时分秒的 ...

  6. Vue里使用three.js实现3D模型小案例

    Vue里使用three.js实现3D模型小案例 1.下载three.js包 npm install three --save 或者 yarn add three --save 2.组件代码 <t ...

  7. JS小案例总结(JS基础案例)

    JS小案例总结 JS小案例总结 案例一:JS实现tab选项卡功能 案例二:JS实现盒子拖拽功能 案例三:JS实现导航条吸顶效果 案例四:JS实现图片懒加载结构 案例五:JS实现简易弹幕功能 案例六:J ...

  8. JS小案例--关于时间--限时购

    JS小案例–关于时间–限时购 界面显示和功能实现 功能实现 设置了一个特定的日期 和当前时间 相差 实现折合成 天 小时 分钟 秒 使用性 :像某宝的商品限时购 所以很实用 用到的知识点 为日期对象设 ...

  9. js轮播图按钮小案例

    案列介绍 我们在写网页和app的时候经常看到轮播图,通过小按钮或者左右箭头按钮操作切换图片,点击到当前的小按钮并改变它的样式,并实现切换图片,本案例是写一个切换按钮的小案例. 一.大概步骤 注意:有很 ...

最新文章

  1. 【透明版九宫格背景图片】仅依靠background的几个属性组合搭配出酷炫的透明背景卡片效果→适用于大数据可视化、数据大屏展示页面
  2. 《LeetCode力扣练习》第11题 C语言版 (做出来就行,别问我效率。。。。)
  3. pycharm中导入allure提示模块不存在解决方法
  4. placement new 操作符
  5. 新安装和已安装nginx如何添加未编译安装模块/补丁
  6. linux安装pip
  7. 地图市场三足鼎立:诺基亚官方确认与亚马逊合作
  8. VIBE算法(二)——算法总结
  9. oa系统源码 python_区块链技术基于springboot的办公oa系统实现源代码
  10. SQL Server 2019重新安装失败的处理方法
  11. 虚拟机SSH免密登录配置
  12. 20组事后诸葛亮会议总结
  13. LF-YOLO: A Lighter and Faster YOLO for Weld Defect Detection of X-ray Image
  14. 基于LSTM-Attention模型的光伏电站发电量预估(1)
  15. 单片机应用系统设计技术——LCD滚动显示汉字
  16. Unity加载火炬之光的场景
  17. 第9章 虚拟专用网 技术原理与应用
  18. 报驾校,拿驾照,学车各种不容易
  19. 稀疏表示理论问题优化模型
  20. Openlayers中加载GeoJson文件显示地图

热门文章

  1. 【量化君的不定时更新0409】军工大涨,国家队“进场”?
  2. request基本使用教程
  3. Cache的基本知识
  4. mysql 预处理语句报错_mysqli与MySQL交互的预处理语句
  5. ggplot2绘图:qPCR数据箱式图叠加散点图1
  6. 2023最新ChatGPT商业运营网站源码+支持ChatGPT4.0+新增GPT联网功能+支持ai绘画+实时语音识别输入+用户会员套餐+免费更新版本
  7. docker配置服务器环境
  8. 高通滤波去除基线漂移matlab,去基线漂移
  9. 读论文-----基于单通道表面肌电信号的手势识别 Hand Gestures Recognition Based on One-Channel Surface EMG Signal
  10. 在职笔记1丨新人切忌空而广?面面俱到实则啥也没点到