跳到主要内容

mgtv.sendSocketMessage(Object object)

信息

框架版本 0.4.15 开始支持。

通过 WebSocket 连接发送数据。需要先 mgtv.connectSocket,并在 mgtv.onSocketOpen 回调之后才能发送。 推荐使用 SocketTask 的方式去管理 webSocket 链接,每一条链路的生命周期都更加可控。同时存在多个 webSocket 的链接的情况下使用 mgtv 前缀的方法可能会带来一些和预期不一致的情况。

参数

Object object

属性类型默认值必填说明
datastring需要发送的内容
successfunction接口调用成功的回调函数
failfunction接口调用失败的回调函数
completefunction接口调用结束的回调函数(调用成功、失败都会执行)

示例代码

let socketOpen = false;
let socketMsgQueue = [];
mgtv.connectSocket({
url: "test.php",
});

mgtv.onSocketOpen(function (res) {
socketOpen = true;
for (let i = 0; i < socketMsgQueue.length; i++) {
sendSocketMessage(socketMsgQueue[i]);
}
socketMsgQueue = [];
});

function sendSocketMessage(msg) {
if (socketOpen) {
mgtv.sendSocketMessage({
data: msg,
});
} else {
socketMsgQueue.push(msg);
}
}