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

看本帖的前提是:你的WebSocket在小程序以外是正常可用的;由于WebSocket不是小程序独有的,全部大部分问题在网上是能够找到说明的,本帖只是聚合了一些小程序中使用WebSocket中遇到的问题及可能性,以便你们集中排除;php

目前主要发现WebSocket相关的问题:
1:带了端口(会出现调试可用,体验版不可用的状况,参考打开调试模式与非调试模式的区别
2:证书有问题;html

官方文档地址:https://mp.weixin.qq.com/debu...node

一个微信小程序同时只能有一个 WebSocket 链接,若是当前已存在一个 WebSocket 链接,会自动关闭该链接,并从新建立一个 WebSocket 链接。
tip: createSocket 连接默认和最大超时时间都是 60s
tip: 网络请求的 referer 是不能够设置的,格式固定为 https://servicewechat.com/{appid}/{version}/page-frame.html,其中{appid} 为小程序的 appid,{version} 为小程序的版本号,版本号为 0 表示为开发版。ios

相关文章:
微信小程序websocket端口配置
微信小程序入门《六》实例:WebSocket应用
微信小程序服务器配置-suse版:配置https,wss协议的websocket
Java后端实现websocket与微信小程序端链接简单例子
微信小程序和服务器通讯-WebSocket
用nodejs快速实现微信小程序的websocket服务端
微信小程序开发系列分析《三》websocket
微信小程序和服务器通讯-WebSocket ... ...web

相关demo:
基于websocket的微信聊天室小程序webSocket的实践
树莓派照片监控,webSocket,mqtt
Wechat-websocket(H5与微信小程序WebSocket跨端聊天室)
websocket应用简易聊天室;基于node和websocket
TCP/IP长链接服务,支持微信小程序websocket小程序

相关问题:
小程序,预览版websocket测试经过,但是体验版没反应
微信小程序websocket真机没反应后端

相关讨论:
Q:开发工具上链接含有端口的地址没有问题,一到真机上就提示:“connectSocket:fail url not in domain list”。微信小程序

A:不能使用带端口的地址。api

相关讨论一:
websocket 链接问题 websocket链接 断了。是否会自动重连。。仍是重连机制须要我本身来维护?服务器

问题解决了。连不上是由于加了端口

发不了数据是由于 要发out 不该该必u16a
var out = new ArrayBuffer(length);
var u16a = new Uint8Array(out);

相关讨论二:
websocket -9807 错误怎么破? 使用websocket 出现-9807错误 在6.5.3上都不出现,在最新版本6.5.4上出现

服务器证书不对 ios 高版本不能使用startSSL的免费证书

相关讨论三:
websocket在真机上报错的问题使用websocket的时候,在开发者工具里开发和调试一切正常,真机预览的时候就报错了,没法链接到个人socket服务如图。
图片描述

问题已解决,证书签发下来了,替换了就OK了,临时的证书真机上就报错了
ssl证书相关问题解决贴:ssl证书相关问题(SSL相关问题请在这问)

相关讨论四:
websocket手机端链接无反应,无回调
用websocket链接wss网页,已经确认在合法列表里面,端口为手动是的18080,链接方式为

wx.connectSocket({
    url: 'wss://www.*****.cn:18080'
    })

回调函数为

wx.onSocketError(function(res){
wx.onSocketClose(function(res) {
wx.onSocketOpen(function(res) {

都没有走到,可是若是手机端打开调试的话,则能够正常使用,在开发工具的话也能够正常使用,可是直接预览以及体验者的方式进入的话,都没法正常使用
在开发工具那边配置的开发环境不校验请求域名以及TLS版本的话,没有打勾

已解决,缘由为url不能带端口号,服务端需监听使用默认的443端口

相关讨论五:
Android手机能连接websocket,但是IOS不行,如何解决?
Android手机能连接websocket,且正常收发信息的
但是IOS不行,如何解决?
打印出来的信息是:"OSStatus"错误-9801

加了TLS v1.2就能够了

相关讨论六:
networkTimeout 设置不起做用
设置了connectSocket=300000, 可是任然在60秒就断开链接

最长只能是 60s

相关文章
相关标签/搜索