从外部工作人员向socketcluster通道发送消息

时间:2017-05-07 10:03:14

标签: javascript socketcluster

我正在观看外部资源,每当数据发生变化时,我都希望根据数据向特定频道发送消息。

我找到了两种方法来反复对SC文档进行反复思考:

  • 通过观察工作人员,这是不理想的,因为当有1000个在线客户端时,外部数据源会受到每个工作人员的请求的打击

  • 来自客户端,这不太理想,因为我必须订阅频道,发送我的消息,然后取消订阅

如何在server.js中执行此操作?

1 个答案:

答案 0 :(得分:1)

我在外部资源发生变化时发送数据或消息的一个很好的例子是,外部资源(如网站)通过标准方式调用/发出套接字集群:

socket.on('documents/upload-file', function (data, respond) {
    documents.uploadFile(data, respond, socket);
});
  • documents.uploadFile我用来上传带有base64字符串的文件。
  • 然后保存文件并将文档存储到数据库中。
  • 调用函数documents.getFileList的代码,它从db
  • 中提取所有文档信息
  • 然后该数据通过渠道发布:

socket.exchange.publish('channels/documentList', updatedDocumentList);

工人的重点是处理外部传入事件。在不知道你的外部资源是什么的情况下,我不能特别说出这对你来说是否是最好的方法,但希望这是一个好的开始。