- 小程序里,通过WebSocket可以发送语音消息吗?
大家好,在我司的小程序里,已经实现通过WebSocket发送文本消息。请问,能发送语音消息吗?
2018-09-09 - websocket断开重连总是无法实现
开发工具版本:1.02.1805181 需求简述:使用小程序扫描电脑浏览器页面中的二维码,小程序通过WebSocket发送数据到我司的服务器。启动远程调试后,第一次测试都OK。但稍等,再次测试失败。我尝试了传统的wx.onSocketOpen写法,也试了SocketTask写法,都无法做到失败重连。请大神协助,谢谢! // websocket.js const app = getApp(); let url = 'ws://10.13.18.151:9092'; export const connect = function (callbackFunc) { // 定义一个方法 var SocketTask = wx.connectSocket({ url: url, success: function () { console.log('wx.connectSocket成功'); }, fail: function(err) { if (err) { console.log('###### wx.connectSocket连接失败', err) app.globalData.socketConnectFail = true // 定义一个全局变量,当链接失败时改变变量的值 } }, complete: function () { console.log('wx.connectSocket完成'); } }) SocketTask.onOpen(function (res) { // 监听WebSocket连接打开事件。 console.log('进入wx.onSocketOpen()'); SocketTask.send({ // 通过 WebSocket 连接发送数据,需要先 wx.connectSocket,并在 wx.onSocketOpen 回调之后才能发送。 data: '9999999999999999999999999999999999', // 用于订阅的参数,视具体情况而定 success(data) { console.log('wx.sendSocketMessage成功:', data.errMsg) }, fail(err) { console.log('wx.sendSocketMessage失败', err) console.dir(err); } }) }) SocketTask.onMessage(function (res) { // 监听WebSocket接受到服务器的消息事件。 console.log('WebSocket接收到消息:', res); callbackFunc(res.data); // 将接收到的消息进行回调,如果是ArryBuffer,需要进行转换 }) SocketTask.onError(function (res) { // 监听WebSocket错误。 console.log('###### wx.onSocketError'); app.globalData.socketConnectFail = true // 定义一个全局变量,当链接失败时改变变量的值 }) SocketTask.onClose(function (res) { // 监听WebSocket关闭。 console.log('###### wx.onSocketClose'); app.globalData.socketConnectFail = true // 定义一个全局变量,当链接失败时改变变量的值 }) }; // mySome.js let openSocket = require('../../utils/websocket.js'); wx.scanCode({ success: (res) => { console.log(res); console.log('扫码成功,通知server端'); // 格式:resume/myResume?randomKey=a8b23ab8-223d-4893-afd3-22a6b279e256 let path = res.path; let index01 = path.indexOf('randomKey='); let randomKey = path.substring(index01 + 10); // 10是randomKey=的长度 console.log('path=' + path); console.log('index01=' + index01); console.log('randomKey=' + randomKey); let wsUrl = app.globalData.webSocketName; console.log('wsUrl=' + wsUrl); // 第三版开始 openSocket.connect(function(data) { // WebSocket初始化连接 console.log('成功回调OOOOOOOOOOOOOOOOOOOOOOOOOOOO'); }); if (app.globalData.socketConnectFail) { // WebSocket断线重连 setInterval(() => { console.log('###### 进入setInterval()'); openSocket.connect(function(data) { console.log('成功回调!!!!!!!!!!!!!!!!!!!!!!!!!!'); }); }, 5000) } // 第三版结束 ///////////////////////// 控制台摘录 websocket.js? [sm]:9 wx.connectSocket成功 websocket.js? [sm]:18 wx.connectSocket完成 websocket.js? [sm]:43 ###### wx.onSocketError
2018-05-30