为何有 HTTP 协议还需要 WebSocket ?

  Http协议 有个缺陷:通信只能由客户端发起。举例来说,我们想了解今天的天气,只能是客户端向服务器发出请求,服务器返回查询结果。HTTP 协议做不到服务器主动向客户端推送信息。(单向请求)注定了如果服务器有连续的状态变化,客户端要获知就非常麻烦。我们只能使用"轮询":每隔一段时候,就发出一个询问,了解服务器有没有新的信息。最典型的场景就是聊天室。轮询的效率低,非常浪费资源(因为必须不停连接,或者 HTTP 连接始终打开)。因此,工程师们一直在思考,有没有更好的方法。WebSocket 就是这样发明的。

WebSocket  最大特点:

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

微信小程序中的应用:

1、页面加载时,建立连接,

onLoad: function (option) {wx.connectSocket({url: '' ,  //此处开发者服务器接口地址})
}

  

2、监听 WebSocket 接收到服务器的信息 : onSocketMessage()

onLoad: function (option) {wx.connectSocket({url: '' ,  //此处开发者服务器接口地址})wx.onSocketMessage(function (data) {console.log(data)  }}

  

3、在发送事件中,wx.sendSocketMessage(OBJECT)

send: function (){wx.sendSocketMessage({data: JSON.stringify({"type": "message","data": { "touser": _This.data.reUnionid, "content": sendValue }}),success: function (e) {console.log(e)},fail: function (e) {console.log(e)},complete: function (e) {console.log(e)}}
}

  

转载于:https://www.cnblogs.com/zhangym118/p/9274231.html

微信小程序-WebSocket应用相关推荐

  1. 微信小程序WebSocket相关问题说明

    看本帖的前提是:你的WebSocket在小程序之外是正常可用的:因为WebSocket不是小程序独有的,所有大部分问题在网上是可以找到说明的,本帖只是聚合了一些小程序中使用WebSocket中遇到的问 ...

  2. 微信小程序WebSocket接口以及在小程序中的使用。

    关于微信小程序WebSocket的使用 一.连接wx.connectSocket 二.wx.onSocketOpen和wx.onSocketError 三.wx.onSocketMessage 四.w ...

  3. 微信小程序WebSocket心跳检测与断来重连

    为什么要心跳检测 使用微信小程序WebSocket时,WebSocket在一定的时间没有进行通信就会断开连接,所以需要使用心跳检测. 那么心跳检测是什么呢,心跳检测顾名思义就是和人心脏动一样,客户端在 ...

  4. 微信小程序websocket聊天前端实现

    微信小程序websocket聊天前端实现,可以发语音.图片.文字. 代码下载:https://download.csdn.net/download/cc1314_/10983195

  5. 微信小程序WebSocket实现聊天对话功能完整源码

    相关文章: 1.小程序聊天群,发送语音,文字,图片. 2.微信小程序集成腾讯IM,实现实时音视频通话,1V1聊天 3.云开发微信小程序聊天群 4.接入网易云信IM即时通讯的微信小程序聊天室 5.微信小 ...

  6. 小程序websocket java_微信小程序websocket java获取不到data

    在使用java作为后台测试微信小程序时,发现: 1.后台中ServerHttpRequest request中的session是空的,前端通过wx.connectSocket传递的data也没看到. ...

  7. 微信小程序websocket聊天室

    背景 最近做了一个微信小程序的即时通讯功能,之前我也做过node.js的websocket服务,不过是在web端应用的socket.io服务.小程序本身对http.websocket等连接均有诸多限制 ...

  8. 微信小程序 WebSocket 通信 —— 在线聊天

    在Node栏目就讲到了Socket通信的内容,使用Node实现Socke通信,还使用两个流行的WebSocket 库,ws 和 socket.io,在小程序中的WebSocket接口和HTML5的We ...

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

    今天给大家分享一下本人做小程序使用websocket的一点小经验,希望对大家有所帮助. 使用之前肯定首先要了解一下websocket是什么,简单来讲websocket就是客户端与服务器之间专门建立的一 ...

最新文章

  1. 1月12号 UIView
  2. python读取文件的常用方法
  3. PPT 下载 | 神策数据曹犟:数据驱动从方法到实践
  4. 抱抱星英语Antony:不要用互联网思维做教育 | MCtalk教育访谈摘录
  5. 导入obj_3D模型obj文件格式详解
  6. 模糊查询关键字不区分大小写_SQL简单查询
  7. 腾讯,字节,阿里,小米,京东大厂Offer拿到手软!绝对干货
  8. [go]---从java到go(01)---基础与入门上手
  9. jenkins集成钉消息通知
  10. ojdbc14_g.jar与ojdbc14.jar区别
  11. linux中mvn命令的下载与安装
  12. FFMPEG学习【ffmpeg工具】
  13. MC官方模板的分析Day1
  14. 您的美团账户,美团互助未经客户同意自动扣费0.01元是什么情况
  15. 校园网环境下的微信同步
  16. IDEA两种方式设置类注释模板
  17. 研究生宿舍大盘点!令人羡慕的研究生宿舍来了!
  18. 电信光纤猫(HG8245)破解教程 开启无线网、路由器功能(第二章)
  19. 用c语言编写程序输出* ***,用C语言如何编写程序输出以下图形
  20. dgl._ffi.base.DGLError: [10:36:44] /opt/dgl/src/runtime/c_runtime_api.cc:88: Check failed: allow_mis

热门文章

  1. boost::king_ordering用法的测试程序
  2. 基于Boost.Thread 的测试
  3. boost::contract模块实现friend功能的测试程序
  4. VTK:PolyData之DeleteCells
  5. OpenCV使用不同的决策树decision trees的实例(附完整代码)
  6. OpenCV通过填充修复损坏的图像的实例(附完整代码)
  7. C++插入排序(附完整源码)
  8. QT的QDateTimeEdit类的使用
  9. 经典C语言程序100例之八零
  10. C++ 值传递、指针传递、引用传递