socket.js 789 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. 'use strict';
  2. const { Controller } = require('ee-core');
  3. const socket = require('../utils/socket')
  4. const pySocket = new socket()
  5. class SocketController extends Controller {
  6. constructor(ctx) {
  7. super(ctx);
  8. }
  9. /**
  10. * Connect to WebSocket server
  11. */
  12. async connect() {
  13. await new Promise(async (resolve,reject) => {
  14. pySocket.init(this.app)
  15. })
  16. }
  17. /**
  18. * 发送 ping 消息
  19. */
  20. sendPing() {
  21. pySocket.sendPing()
  22. }
  23. /**
  24. * 发送消息到服务器
  25. * @param {string} message - JSON 字符串
  26. */
  27. sendMessage(message) {
  28. pySocket.sendMessage(message)
  29. }
  30. /**
  31. * 断开连接
  32. */
  33. disconnect() {
  34. pySocket.disconnect()
  35. }
  36. }
  37. SocketController.toString = () => '[class SocketController]';
  38. module.exports = SocketController;