swan.sendSocketMessage

解释:通过 WebSocket 连接发送数据,需要先调用 swan.connectSocket,并在 swan.onSocketOpen 回调之后才能发送。

# 方法参数

Object object

# object参数说明

属性名 类型 必填 默认值 说明
data String 需要发送的内容
success Function 接口调用成功的回调函数
fail Function 接口调用失败的回调函数
complete Function 接口调用结束的回调函数(调用成功、失败都会执行)

# 示例

# 扫码体验

请使用百度APP扫码

# 图片示例

# 代码示例1 :

在开发者工具中预览效果

  • 在 js 文件中
Page({
    sendSocketMessage() { 
        swan.onSocketOpen(function () {
            swan.sendSocketMessage({
                data: 'baidu',
                success: res => {
                    swan.showToast({
                        title: 'WebSocket发送数据成功',
                        icon: "none"
                    });
                    console.log('WebSocket发送数据成功', res);
                },
                fail: err => {
                    console.log('WebSocket发送数据失败', err);
                }
            });
        });

        swan.connectSocket({
            url: 'wss://echo.websocket.org',
            header: {},
            success: res => {
                console.log('connectSocket success', res);
            },
            fail: err => {
                console.log('connectSocket fail', err);
            }
        });
    }
});

# 代码示例2 - 示例1的另一种写法 :

在开发者工具中预览效果

  • 在 js 文件中
Page({
    sendSocketMessage() { 
        new Promise((resolve, reject) => {
            const socketHandler = swan.connectSocket({
                url: 'wss://echo.websocket.org',
                header: {},
                success: function (res) {
                    console.log('connectSocket success', res.socketTaskId)
                },
                fail: function (err) {
                    reject(err);
                    console.log('connectSocket fail', err);
                }
            });
            socketHandler.onOpen(function () {
                resolve(socketHandler);
            });
        })
        .then(socketHandler => {
            swan.sendSocketMessage({
                data: 'baidu',
                success: res => {
                    swan.showToast({
                        title: 'WebSocket发送数据成功',
                        icon: "none"
                    });
                    console.log('WebSocket发送数据成功', res);
                },
                fail: err => {
                    console.log('WebSocket发送数据失败', err);
                }
            });
        })    
    }
});

# 错误码

# Android

错误码 说明
302 找不到调起协议对应端能力方法
202 解析失败,请检查参数是否正确
1001 执行失败

# iOS

错误码 说明
4 参数有误