CabloyJS V3.2.0支持Socket IO

CabloyJS v3.2.0引入了Socket IO,並且實現了統一的在線推送離線推送機制

效果演示

1. IM

用戶向系統發送一條消息,系統通過websocket在線通道向用戶推送一條回覆

在這裏插入圖片描述

2. 進度條

系統通過websocket在線通道向前端實時推送任務的進度

在這裏插入圖片描述

項目配置

升級到該版本,請更新以下項目配置:

1. 增加redis連接信息

請依次修改測試環境開發環境生產環境的配置,這裏以開發環境爲例

{project}/src/backend/config/config.local.js

  // redis
  ...
  const __redisConnectionDefaultIO = Object.assign({}, __redisConnectionDefault, {
    keyPrefix: `io_${appInfo.name}:`,
  });

  config.redisConnection = {
    ...
    io: __redisConnectionDefaultIO,
  };

  config.redis = {
    clients: {
      redlock: config.redisConnection.default,
      ...
      io: config.redisConnection.io,
    },
  };

2. Nginx配置

在Nginx配置中添加/socket.io/的轉向

{project}/docker-compose/config/nginx/conf.d/nginx.conf

  ...
  location /socket.io/ {
    proxy_http_version 1.1;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Host $server_name;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header Host $http_host;
    proxy_set_header X-NginX-Proxy true;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_pass http://$node_ip:$node_port$request_uri;
    proxy_redirect off;
    proxy_buffer_size 64k;
    proxy_buffers   4 32k;
    proxy_busy_buffers_size 64k;
  }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章