微信小程序webSocket生命周期

测试的环境:vivo z5  Android9.0   webSocket未实现团活

当小程序前后端之间建立webSocket后,我测试过以下4种情况。

  1. webSocket建立的小程序页面,亮屏且前后台之间无websocket交互。------  5分钟后,服务端主动断开websocket连接,小程序端触发wx.onSocketClose(),未触发wx.onSocketError();
  2. webSocket建立的小程序页面,熄屏且前后台之间无websocket交互。------  5分钟后,服务端主动断开websocket连接,小程序端触发wx.onSocketClose(),未触发wx.onSocketError();
  3. webSocket建立的小程序页面,小程序切微信后台。------ 10s内,小程序端主动断开websocket连接,小程序端触发wx.onSocketClose(),未触发wx.onSocketError();
  4. webSocket建立的小程序页面,微信应用切手机后台。------ 10s内,小程序端主动断开websocket连接,小程序端触发wx.onSocketClose(),未触发wx.onSocketError();

补充:实测上述情况1、2中,提到的5分钟,与服务端程序所设置的session超时时间无关。

原文地址:https://www.cnblogs.com/wangchengb/p/11334001.html

时间: 2024-10-05 22:15:37

微信小程序webSocket生命周期的相关文章

微信小程序之生命周期(三)

上一篇介绍微信小程序开发工具使用和项目目录结构. 这一章节介绍微信小程序的生命周期,什么是生命周期呢? 通俗的讲,生命周期就是指一个对象的生老病死. 从软件的角度来看,生命周期指程序从创建.到开始.暂停.唤起.停止.卸载的过程. 下面从一下三个方面介绍微信小程序的生命周期: 应用生命周期 页面生命周期 应用生命周期影响页面生命周期 >>>应用生命周期 用户首次打开小程序,触发 onLaunch(全局只触发一次). 小程序初始化完成后,触发onShow方法,监听小程序显示. 小程序从前台进

微信小程序APP生命周期

小程序APP生命周期需要先从app.js这个文件开始,App() 必须在 app.js 中调用,必须调用且只能调用一次,app.js中定义了一些应用的生命周期函数 onLaunch----当小程序初始化完成时,会触发 onLaunch(全局只触发一次) onShow ----当小程序启动,或从后台进入前台显示,会触发 onShow onHide ----当小程序从前台进入后台,会触发 onHide onError ----当小程序发生脚本错误,或者 api 调用失败时,会触发 onError 并

微信小程序的生命周期和APP对象的使用

1.生命周期和APP对象的使用: //app.js App({ onLaunch: function () { //调用API从本地缓存中获取数据 var logs = wx.getStorageSync('logs') || [] logs.unshift(Date.now()) wx.setStorageSync('logs', logs) }, onShow: function() { console.log("onShow") }, onHide: function() { c

小程序全局生命周期( 仅供了解 )

每天保持睡不着又醒不来的状态只有麻木的做人麻木的麻木的呼吸忘记自己的存在 app.js是用来注册小程序的 注册小程序.接受一个 Object 参数,其指定小程序的生命周期回调等. 微信小程序生命周期(全局生命周期): onLaunch(...rest){}:监听小程序初始化.(小程序启动时会执行该声明周期函数执行一次) onShow(...rest){}:监听小程序启动或切前台(显示) 这个参数是数组对象: path:在哪个路径来的 query:要传的值 scene:1001是场景值详情请看下面

微信小程序 WebSocket 使用非 443 端口连接

前言 微信小程序支持使用 WebSocket 连接到服务器,准确地说是带 SSL 的 WebSocket,而微信小程序中不允许使用带端口的 wss 连接,只能使用 443 端口.想使用其他端口就需要在服务器做一层代理,本文以 Ubuntu 16.04 服务器为例,使用 nginx 做 Web Server .本文参考了 如何在微信小程序的websocket上使用mqtt协议 ,在此感谢原作者. 步骤 安装 nginx 及配置的过程不再赘述,nginx 需要处理微信小程序 WebSocket 不支

微信小程序websocket

微信小程序websocket 微信小程序带有websocket可以提供使用,但是官方文档写的东西很少,而且小程序后台能力弱这一点也是十分的坑爹,这就导致了socket长连接一切后台就会出现断开的情况,并且难受的是.这个时候你重新调用链接函数也会链接不上,可能直接影响到你的业务逻辑 解决方法就是手动关闭和开启链接,不要让链接在程序切后台的时候被关掉,代码如下↓ onHide监听程序进入后台的时候,手动关闭链接 onHide: function() { var that = this; consol

微信小程序-WebSocket应用

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

JS与小程序页面生命周期

Page({ /** * 页面的初始数据 */ data: { }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady: function () { }, /** * 生命周期函数--监听页面显示 */ onShow: function () { }, /** * 生命周期函数--监听页面隐藏 */ onHide: function () { }, /** * 生

小程序组件生命周期总结

小程序官网中并没有明确地说明组件的生命周期,通过查阅资料,内容大致如下: created 组件实例化,但节点树还未导入,因此这时不能用setData attached 节点树完成,可以用setData渲染节点,但无法操作节点 ready(不是onReady) 组件布局完成,这时可以获取节点信息,也可以操作节点 moved 组件实例被移动到树的另一个位置 detached 组件实例从节点树中移除 原文地址:https://www.cnblogs.com/yanze/p/8617987.html