swan.sendSocketMessage

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

方法参数

Object object

object参数说明

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

示例

扫码体验

swan.sendSocketMessage - 图1请使用百度APP扫码

图片示例

swan.sendSocketMessage - 图2

swan.sendSocketMessage - 图3

swan.sendSocketMessage - 图4

代码示例1 :

在开发者工具中预览效果

  • 在 js 文件中
  1. Page({
  2. sendSocketMessage() {
  3. swan.onSocketOpen(function () {
  4. swan.sendSocketMessage({
  5. data: 'baidu',
  6. success: res => {
  7. swan.showToast({
  8. title: 'WebSocket发送数据成功',
  9. icon: "none"
  10. });
  11. console.log('WebSocket发送数据成功', res);
  12. },
  13. fail: err => {
  14. console.log('WebSocket发送数据失败', err);
  15. }
  16. });
  17. });
  18. swan.connectSocket({
  19. url: 'wss://echo.websocket.org',
  20. header: {},
  21. success: res => {
  22. console.log('connectSocket success', res);
  23. },
  24. fail: err => {
  25. console.log('connectSocket fail', err);
  26. }
  27. });
  28. }
  29. });

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

在开发者工具中预览效果

  • 在 js 文件中
  1. Page({
  2. sendSocketMessage() {
  3. new Promise((resolve, reject) => {
  4. const socketHandler = swan.connectSocket({
  5. url: 'wss://echo.websocket.org',
  6. header: {},
  7. success: function (res) {
  8. console.log('connectSocket success', res.socketTaskId)
  9. },
  10. fail: function (err) {
  11. reject(err);
  12. console.log('connectSocket fail', err);
  13. }
  14. });
  15. socketHandler.onOpen(function () {
  16. resolve(socketHandler);
  17. });
  18. })
  19. .then(socketHandler => {
  20. swan.sendSocketMessage({
  21. data: 'baidu',
  22. success: res => {
  23. swan.showToast({
  24. title: 'WebSocket发送数据成功',
  25. icon: "none"
  26. });
  27. console.log('WebSocket发送数据成功', res);
  28. },
  29. fail: err => {
  30. console.log('WebSocket发送数据失败', err);
  31. }
  32. });
  33. })
  34. }
  35. });

错误码

Android

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

iOS

错误码说明
4参数有误