小程序 linux wss,小程序 websocket建立wss连接时报错

在小程序中建立websocket时,后端服务是wss协议。

//连接失败

wx.onSocketError(function (e) {

console.log('websocket连接失败!', e);

})

捕捉到如下错误:

errMsg:"com.android.org.bouncycastle.jce.exception.ExtCertPathValidatorException: Could not validate certificate: null"

后端服务器没有收到任何请求。

很奇怪,在工具中调试没有任何问题,一到我的手机上调试就出现了上述问题。我的手机的android版本为4.4.2  手机是华为荣耀6.  有人说是证书问题,我通过检测没有发现问题

34d8d405b8ad6880720469857b9f19a7.png

https://www.myssl.cn/tools/check-server-cert.html 提供的检测工具 也一切正常。

同时在应用中通过web-view也能正常打开应用页面。通过https连接发送内容也正常。

向官方的客服提到此问题,建议我上这里来提问,有人遇到过这个问题吗?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
微信小程序云开发提供了 WebSocket 接口,可以通过它实现小程序与服务器之间的实双向通信。WebSocket 是一种基于 TCP 协议的网络协议,可以在单个 TCP 连接上进行全双工通信,是实现实双向通信的一种常用技术。 在小程序中使用 WebSocket,需要在小程序的云函数中创建 WebSocket 服务器,同小程序端通过 WebSocket API 进行连接和通信。 以下是一个简单的示例代码,演示了如何在小程序中使用 WebSocket: ``` // 在小程序中创建 WebSocket 连接 wx.connectSocket({ url: 'wss://www.example.com', success: function () { console.log('WebSocket 连接创建成功') } }) // 监听 WebSocket 连接打开事件 wx.onSocketOpen(function () { console.log('WebSocket 连接已打开') }) // 监听 WebSocket 接收到服务器消息事件 wx.onSocketMessage(function (data) { console.log('接收到服务器消息:' + data) }) // 监听 WebSocket 错误事件 wx.onSocketError(function (error) { console.error('WebSocket 连接发生错误:', error) }) // 监听 WebSocket 连接关闭事件 wx.onSocketClose(function () { console.log('WebSocket 连接已关闭') }) ``` 在云函数中创建 WebSocket 服务器的代码如下: ``` const WebSocket = require('ws') // 创建 WebSocket 服务器 const wss = new WebSocket.Server({ port: 8080 }) // 监听 WebSocket 连接事件 wss.on('connection', function (ws) { console.log('WebSocket 连接建立') // 监听 WebSocket 接收到消息事件 ws.on('message', function (message) { console.log('接收到消息:', message) // 发送消息给客户端 ws.send('服务器已收到消息:' + message) }) }) ``` 需要注意的是,由于小程序的网络安全策略,WebSocket 连接的 URL 必须使用 `wss://` 协议,即必须使用 HTTPS 加密传输。同小程序不支持使用第三方 WebSocket 库,需要使用原生的 WebSocket API 进行开发。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值