WebSocket

qh.connectSocket

解释:创建一个 WebSocket 连接。

方法参数:Object object

object参数说明

参数名类型必填默认值说明
urlString-开发者服务器接口地址,必须是 wss 协议,且域名必须是后台配置的合法域名。
protocolsStringArray-子协议数组
successFunction-接口调用成功的回调函数
failFunction-接口调用失败的回调函数
completeFunction-接口调用结束的回调函数(调用成功、失败都会执行)

示例

  • 在 html 文件中
  1. <div>
  2. <se-button type="primary" @click="connectSocket">connectSocket</se-button>
  3. </div>
  • 在 js 文件中
  1. Page({
  2. methods: {
  3. connectSocket() {
  4. qh.connectSocket({
  5. url: 'ws://127.0.0.1:3000',
  6. success: function (res) {
  7. console.log('connectSocket success', res);
  8. },
  9. fail: function (err) {
  10. console.log('connectSocket fail', err);
  11. }
  12. });
  13. }
  14. }
  15. });

qh.onSocketOpen

解释:监听 WebSocket 连接打开事件。

方法参数:Function callback

callback参数说明:WebSocket 连接打开事件的回调函数。

callback方法参数:Object res

res参数说明:

参数名类型必填默认值说明
headerObject-连接成功的 HTTP 响应 Header。

示例

  • 在 html 文件中
  1. <div>
  2. <se-button type="primary" @click="onSocketOpen">onSocketOpen</se-button>
  3. </div>
  • 在 js 文件中
  1. Page({
  2. methods: {
  3. onSocketOpen() {
  4. qh.onSocketOpen(function (res) {
  5. console.log('WebSocket连接已打开!', res);
  6. });
  7. qh.connectSocket({
  8. url: 'ws://127.0.0.1:3000',
  9. success: function (res) {
  10. console.log('connectSocket success', res);
  11. },
  12. fail: function (err) {
  13. console.log('connectSocket fail', err);
  14. }
  15. });
  16. }
  17. }
  18. });

qh.onSocketError

解释:监听 WebSocket 错误

方法参数:Function callback

示例

  • 在 html 文件中
  1. <div>
  2. <se-button type="primary" @click="onSocketError">onSocketError</se-button>
  3. </div>
  • 在 js 文件中
  1. Page({
  2. methods: {
  3. onSocketError() {
  4. qh.onSocketError(function (res) {
  5. console.log('WebSocket连接打开失败,请检查!', res);
  6. });
  7. qh.connectSocket({
  8. url: 'ws://127.0.0.1:3000',
  9. success: function (res) {
  10. console.log('connectSocket success', res);
  11. },
  12. fail: function (err) {
  13. console.log('connectSocket fail', err);
  14. }
  15. });
  16. }
  17. }
  18. });

qh.sendSocketMessage

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

方法参数:Object object

object参数说明

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

示例

  • 在 html 文件中
  1. <div>
  2. <se-button type="primary" @click="sendSocketMessage">sendSocketMessage</se-button>
  3. </div>
  • 在 js 文件中
  1. Page({
  2. methods: {
  3. sendSocketMessage() {
  4. qh.onSocketOpen(function () {
  5. qh.sendSocketMessage({
  6. data: 'qh360',
  7. success: function (res) {
  8. console.log('WebSocket发送数据成功', res);
  9. },
  10. fail: function (err) {
  11. console.log('WebSocket发送数据失败', err);
  12. }
  13. });
  14. });
  15. qh.connectSocket({
  16. url: 'ws://127.0.0.1:3000',
  17. success: function (res) {
  18. console.log('connectSocket success', res);
  19. },
  20. fail: function (err) {
  21. console.log('connectSocket fail', err);
  22. }
  23. });
  24. }
  25. }
  26. });

qh.onSocketMessage

解释:监听 WebSocket 接受到服务器的消息事件

方法参数:Function callback

callback参数说明:WebSocket 接受到服务器的消息事件的回调函数

callback方法参数:Object res

res参数说明:

参数名类型说明
dataString/ArrayBuffer/Blob服务器返回的消息

示例

  • 在 html 文件中
  1. <div>
  2. <se-button type="primary" @click="onSocketMessage">onSocketMessage</se-button>
  3. </div>
  • 在 js 文件中
  1. Page({
  2. methods: {
  3. onSocketMessage() {
  4. qh.onSocketOpen(function () {
  5. qh.sendSocketMessage({
  6. data: 'qh360'
  7. });
  8. });
  9. qh.onSocketMessage(function (res) {
  10. console.log('收到服务器内容:', res.data);
  11. });
  12. qh.connectSocket({
  13. url: 'ws://127.0.0.1:3000',
  14. success: function (res) {
  15. console.log('connectSocket success', res);
  16. },
  17. fail: function (err) {
  18. console.log('connectSocket fail', err);
  19. }
  20. });
  21. }
  22. }
  23. });

qh.closeSocket

解释:关闭 WebSocket 连接。 必须在 WebSocket 打开期间调用 qh.closeSocket 才能关闭。

方法参数:Object object

object参数说明

参数名类型必填默认值说明
codeNumber1000一个数字值表示关闭连接的状态号,表示连接被关闭的原因。如果这个参数没有被指定,默认的取值是1000 (表示正常连接关闭)
reasonString-一个可读的字符串,表示连接被关闭的原因。这个字符串必须是不长于123字节的 UTF-8 文本(不是字符)
successFunction-接口调用成功的回调函数
failFunction-接口调用失败的回调函数
completeFunction-接口调用结束的回调函数(调用成功、失败都会执行)

示例

  • 在 html 文件中
  1. <div>
  2. <se-button type="primary" @click="closeSocket">closeSocket</se-button>
  3. </div>
  • 在 js 文件中
  1. Page({
  2. methods: {
  3. closeSocket() {
  4. qh.onSocketOpen(function () {
  5. qh.closeSocket({
  6. code: 1000,
  7. reason: 'close reason',
  8. success: function (res) {
  9. console.log('WebSocket链接关闭成功', res);
  10. },
  11. fail: function (err) {
  12. console.log('WebSocket链接关闭失败', err);
  13. }
  14. });
  15. });
  16. qh.connectSocket({
  17. url: 'ws://127.0.0.1:3000',
  18. success: function (res) {
  19. console.log('connectSocket success', res);
  20. },
  21. fail: function (err) {
  22. console.log('connectSocket fail', err);
  23. }
  24. });
  25. }
  26. }
  27. });

qh.onSocketClose

解释:监听 WebSocket 关闭。

方法参数:Function callback

示例

  • 在 html 文件中
  1. <div>
  2. <se-button type="primary" @click="onSocketClose">onSocketClose</se-button>
  3. </div>
  • 在 js 文件中
  1. Page({
  2. methods: {
  3. onSocketClose() {
  4. qh.onSocketOpen(function () {
  5. qh.closeSocket();
  6. });
  7. qh.onSocketClose(function (res) {
  8. console.log('WebSocket 已关闭!');
  9. })
  10. qh.connectSocket({
  11. url: 'ws://127.0.0.1:3000',
  12. success: function (res) {
  13. console.log('connectSocket success', res);
  14. },
  15. fail: function (err) {
  16. console.log('connectSocket fail', err);
  17. }
  18. });
  19. }
  20. }
  21. });

SocketTask

解释:WebSocket 任务,可通过 qh.connectSocket() 接口创建返回。 示例

  • 在 html 文件中
  1. <div>
  2. <se-button type="primary" @click="send">send</se-button>
  3. <se-button type="primary" @click="close">close</se-button>
  4. </div>
  • 在 js 文件中
  1. Page({
  2. onLoad() {
  3. const ws = qh.connectSocket({
  4. url: 'ws://127.0.0.1:3000'
  5. });
  6. ws.onOpen(function (res) {
  7. console.log('WebSocket连接已打开!', res);
  8. });
  9. ws.onError(function (err) {
  10. console.log('WebSocket连接错误!', err);
  11. });
  12. ws.onMessage(function (res) {
  13. console.log('WebSocket接受到服务器的消息', res);
  14. });
  15. ws.onClose(function (res) {
  16. console.log('WebSocket连接已关闭!', res);
  17. });
  18. this.ws = ws;
  19. },
  20. methods: {
  21. send() {
  22. this.ws.send({
  23. data: 'qh360',
  24. success: function (res) {
  25. console.log('WebSocket发送数据成功', res);
  26. },
  27. fail: function (err) {
  28. console.log('WebSocket发送数据失败', err);
  29. }
  30. });
  31. },
  32. close() {
  33. this.ws.close({
  34. code: 1000,
  35. reason: 'close reason',
  36. success: function (res) {
  37. console.log('WebSocket链接关闭成功', res);
  38. },
  39. fail: function (err) {
  40. console.log('WebSocket链接关闭失败', err);
  41. }
  42. });
  43. }
  44. }
  45. });

SocketTask.send

解释:通过 WebSocket 连接发送数据。

方法参数:Object object

object参数说明

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

SocketTask.close

解释:关闭 WebSocket 连接

方法参数:Object object

object参数说明

参数名类型必填默认值说明
codeNumber1000 (表示正常连接关闭)一个数字值表示关闭连接的状态号,表示连接被关闭的原因。如果这个参数没有被指定。
reasonString-一个可读的字符串,表示连接被关闭的原因。这个字符串必须是不长于123字节的 UTF-8 文本(不是字符)
successFunction-接口调用成功的回调函数
failFunction-接口调用失败的回调函数
completeFunction-接口调用结束的回调函数(调用成功、失败都会执行)

SocketTask.onOpen

解释:监听 WebSocket 连接打开事件。

方法参数:Function callback

SocketTask.onClose

解释:监听 WebSocket 连接关闭事件。

方法参数:Function callback

SocketTask.onError

解释:监听 WebSocket 错误。

方法参数:Function callback

SocketTask.onMessage

解释:监听 WebSocket 接受到服务器的消息事件。

方法参数:Function callback

callback参数说明

参数名类型说明
dataString/ArrayBuffer/Blob服务器返回的消息

可以通过设置SocketTask.socket.binaryType = 'blob' 或 'arraybuffer' 来显式指定收到的二进制数据类型。