文章目录

  • 一、WebSocket
    • 1、为什么要使用WebSocket
    • 2、什么是WebSocket
    • 3、WebSocket特点
    • 4、使用方法

一、WebSocket

1、为什么要使用WebSocket

http:单向无状态;即 http只能是单向发起的,只能由客户端主动发起,服务端被动响应。服务端无法主动向客户端发送消息,如果想实现类似于聊天室这种即时通讯的功能,就需要使用消息轮询。但是轮询的效率低,比较消耗资源。(每次建立http连接都进行三次握手,并且每次请求都需要携带请求头),开发人员为了解决这个问题,发明了webSocket

2、什么是WebSocket

WebSocket是HTML5规范提出的一种协议。

它的最大特点就是,服务器可以主动向客户端推送信息,客户端也可以主动向服务器发送信息,是真正的双向平等对话,属于服务器推送技术的一种。

3、WebSocket特点

  1. websocket建立连接时,数据是通过http传输的,建立连接后就不需要http协议了。
  2. websocket建立连接后就是==全双工模式==,也是基于tcp协议
  3. 发soon过的信息中不必带有head部分信息了,相对于http来说,降低了服务器的压力,极大的减少了不必要的网络流量和延迟
  4. 没有同源限制,客户端可以与任意服务器通信
  5. 协议标识符是ws(如果加密,则为wss),服务器网址就是URL

4、使用方法

  1. 打开连接 wx.connectSocket()
  2. 监听服务端信息 wx.onSocketOpen()
  3. 接收信息 wx.onSocketMessage()
  4. 发送消息 wx.sendSocketMessage()
  5. 关闭连接(很重要)wx.closeSocket()

具体使用请看下一章节—聊天室的实现

微信小程序05---WebSocket的使用相关推荐

  1. java与微信小程序通讯_java与微信小程序实现websocket长连接

    本文实例为大家分享了java与微信小程序实现websocket长连接的具体代码,供大家参考,具体内容如下 背景: 需要在小程序实现地图固定坐标下实时查看消息 java环境 :tomcat7 jdk1. ...

  2. 微信小程序之WebSocket

     (扫码带走看 ^ ^) 本文版权归 OSChina jsongo0 所有,此处为技术收藏,如有再转请自觉标明原文出处,这是大家对原创作者劳动成果的自觉尊重! 原文地址:https://my.osch ...

  3. 微信是与服务器长连接,java与微信小程序实现websocket长连接.pdf

    java与与微微信信小小程程序序实实现现websocket长长连连接接 本文实例为大家分享了j ava与微信小程序实现websocket长连接的具体代码,供大家参考,具体内容 下 背背景景:: 需要在 ...

  4. 【微信小程序控制硬件⑧ 】微信小程序以 websocket 连接阿里云IOT物联网平台mqtt服务器,封装起来使用就是这么简单!(附带Demo)

    [微信小程序控制硬件第1篇 ] 全网首发,借助 emq 消息服务器带你如何搭建微信小程序的mqtt服务器,轻松控制智能硬件! [微信小程序控制硬件第2篇 ] 开始微信小程序之旅,导入小程序Mqtt客户 ...

  5. 微信小程序的 websocket 以及 微信开发者工具测试 ws 协议没有数据的 离奇解决方案 记录

    微信小程序的 websocket 在本地web能够使用ws协议去链接websocket,但是小程序不能使用. 一.WSS 协议与 WS 协议 二.业务场景记录 : 使用 ws 协议的 websocek ...

  6. 微信小程序使用websocket

    微信小程序使用websocket 连接websocket let url = `******`//websocket地址 wx.connectSocket({url: url,success() {c ...

  7. Nginx配置wss访问实现微信小程序的websocket通信

    WSS是Web Socket Secure的简称, 它是WebSocket的加密版本.WSS与WS类似于HTTPS和HTTP,不同之处在于是不同的通信协议,都运行在SSL(Secure Socket ...

  8. 微信小程序的websocket使用stomp协议--简单实用的npm包

    需求背景 在公司实习期间,要求做一个小程序的websocket连接,用于设备的实时控制和状态查询. 其中后端使用的是stomp协议,而微信小程序是不支持stomp协议的.但是当我知道的时候,后端已经全 ...

  9. 微信小程序实现websocket聊天室

    在微信小程序中建立聊天室. 目录 一.在web项目中导入javax.websocket-api-1.0-rc4.jar包 二.编写支持websocket的controller类 三.在微信小程序中编写 ...

  10. 微信小程序实现websocket及单人聊天功能

    一.什么是websocket: WebSocket是HTML5下一种新的协议(websocket协议本质上是一个基于tcp的协议) 它实现了浏览器与服务器全双工通信,能更好的节省服务器资源和带宽并达到 ...

最新文章

  1. ios share extension 真机不显示_ios企业签名:APPGroups实现App之间数据共享
  2. Proteus与Keil联调
  3. mysql insert 结果集_SELECT查询结果集INSERT到数据表
  4. router-link标签学习
  5. 大数据能否力挽国足败落狂澜?
  6. optimized mysql_MySQL解释计划中“Select tables optimized away”的含义
  7. Tips--git bash管理本地文档的常用命令
  8. 【mongodb系统学习之十】mongodb查询(二)
  9. ListView添加图片文字项
  10. LINUX自带库与系统重名怎么办
  11. ARcgis常用符号库(含字体库)_三调_二调_规划等
  12. Html——小米商城网页实战(一)
  13. 机器学习-入门杂谈(转载)
  14. (摘自CSDN的koy0755)一步一步实现数据库到类的自动化映射(二) 类层次的设计 类的实现...
  15. 什么是ArcGIS Engine?
  16. 【强化记忆】生物选修三填空题考点强化记忆2-胚胎工程、安全伦理问题、生态工程——2017年2月25日...
  17. 国内代码托管中心-码云、自建代码托管平台-GitLab
  18. 一个超赞的智慧园区地图导航解决方案,如何实现园区路线导航?
  19. Android手机调用系统相机拍照、裁剪以及获取Url上传图片
  20. 什么是凸函数及如何判断一个函数是否是凸函数

热门文章

  1. 数字集成电路与系统设计
  2. python base64编码与图片之间的转换
  3. 集成——Mac电脑上app自动化测试(Appium + xcode 8.2 + python)环境搭建
  4. 基于多时间尺度滚动优化的多能源微网双层调度模型
  5. Oracle 监听端口被占用,别的端口也提示占用
  6. 圆转随意运鸿蒙,解析陈式太极拳的螺旋缠丝劲——陈式太极拳
  7. 2190 悼念512汶川大地震遇难同胞——重建希望小学
  8. linux下的acr122工具
  9. 为何网易以贵金属交易切入互联网金融,出奇制胜?
  10. 搭建git服务器及利用git hook自动布署代码