微信小程序 WebSocket 使用非 443 端口连接
时间: 2023-09-17 07:12:03 浏览: 291
是的,微信小程序 WebSocket 支持使用非 443 端口连接。但是需要注意的是,如果你的 WebSocket 服务器不在同一个域名下,需要在小程序的 app.json 文件中配置合法的域名列表。你可以在小程序开发者工具中的项目设置中,添加合法的域名列表。同时,还需要在服务器端设置允许跨域访问。如果你使用的是 HTTPS 协议,还需要使用 SSL 证书来保证连接的安全性。
相关问题
微信小程序使用非 443 端口连接
微信小程序默认情况下只允许使用 80 和 443 端口进行网络请求。如果需要使用其他端口进行连接,需要先在小程序的 app.json 文件中配置合法的域名列表,具体方法如下:
1. 打开小程序开发者工具,找到项目根目录下的 app.json 文件,添加“networkTimeout”字段。
```
"networkTimeout": {
"connectSocket": 10000,
"sendSocketMessage": 10000,
"downloadFile": 10000,
"uploadFile": 10000
},
```
2. 在“networkTimeout”字段中添加一个“websocket”字段,指定 WebSocket 连接的超时时间。
```
"networkTimeout": {
"connectSocket": 10000,
"sendSocketMessage": 10000,
"downloadFile": 10000,
"uploadFile": 10000,
"websocket": 10000
},
```
3. 在“app.json”文件的“networkTimeout”字段下添加一个“request”字段,指定小程序允许请求连接的端口。
```
"networkTimeout": {
"connectSocket": 10000,
"sendSocketMessage": 10000,
"downloadFile": 10000,
"uploadFile": 10000,
"websocket": 10000,
"request": 10000
},
"networking": {
"domainList": [
"example.com:8080"
]
}
```
其中,“networking”字段用于指定小程序允许连接的域名和端口,需要在“domainList”字段中添加需要连接的域名和端口。
需要注意的是,如果使用的是 HTTP 协议,需要在小程序开发者工具中的设置中,将“不校验合法域名、Web-view(业务域名)、TLS 版本以及 HTTPS 证书”设置打开。如果使用的是 HTTPS 协议,则需要在服务器端配置 SSL 证书。
微信小程序使用MQTT over WebSocket连接阿里云
要微信小程序中使用MQTT over WebSocket连接阿里云,您需要执行以下步骤:
1. 注册并开通阿里云IoT服务。
2. 创建一个IoT实例和一个设备。记录下设备的三元组信息:设备ID、设备密钥和设备名称。
3. 在阿里云IoT控制台中创建一个Topic,用于订阅消息。
4. 在微信小程序中使用wx.connectSocket()方法创建WebSocket连接,指定阿里云的MQTT接入地址和端口。
5. 监听WebSocket连接的打开事件,并使用mqtt.js库创建一个MQTT客户端实例。
6. 在MQTT客户端实例中使用设备的三元组信息进行连接,并订阅之前创建的Topic。
7. 在监听WebSocket接收到消息的事件中,使用MQTT客户端实例发布消息到Topic。
需要注意的是,阿里云的MQTT接入地址为“${YourProductKey}.iot-as-mqtt.${YourRegion}.aliyuncs.com”,其中YourProductKey和YourRegion需要替换成您的阿里云IoT实例的信息。另外,在微信小程序中使用mqtt.js库需要使用mp-mqtt.js库的版本。
阅读全文