javascript - 通过 iosocket 向 Meteor 发送数据,但不是从 Meteor 客户端(搭载 Meteor 的 io-socket)

标签 javascript node.js meteor socket.io

我想从第三方域上的一小段 Javascript 向 Meteor 服务器发送一些数据。我想发送很多小东西,因为它们发生了,所以我想使用 io-socket。

我可以想出几种方法:

  1. 连接到 meteor 的 socket-io 并“搭载”它。发送自定义事件(命名空间以避免冲突),并以某种方式在服务器端捕获这些事件。但是我在服务器上找不到要附加的套接字对象!

  2. 连接到 meteor 的 socket-io,假装是 meteor 客户端。在服务器端使用标准 meteor 功能捕获消息。是否可以像 meteor 客户端一样无需太多协议(protocol)就可以交谈?

  3. 在服务器上打开第二个 IO 套接字监听器,并让客户端连接到它。为此,我需要找到' app ' 对象。

  4. 运行一个完全独立的 Node 进程并让客户与之对话;它可以保存在 Meteor 使用的同一个 MongoDB 中。我可以做到这一点,但我喜欢将所有内容都放在一个过程中的想法。另外,我不确定它是否会触发 Meteor 中的更新事件。

我真的很想得到 #1 方面的帮助:我在哪里可以找到服务器上的 iosocket 对象?

否则,#2 可行吗?我怎样才能像 Meteor 客户一样说话?

最佳答案

您提到了一些不错的选择,而 DDP 客户端可能是最可靠的选择。但是,您可以使用 webapp 包(meteor add webapp)设置普通的 Node.js REST API 端点。

WebApp.rawConnectHandlersWebApp.connectHandlers 只是您可以附加 connect/express 中间件或处理程序的实例。

如果您直接写入 MongoDB,它会触发 Meteor 中的事件,只要您设置 oplog observe driver 即可。 .

关于javascript - 通过 iosocket 向 Meteor 发送数据,但不是从 Meteor 客户端(搭载 Meteor 的 io-socket),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24784939/

相关文章:

ubuntu - 在 Ubuntu 上安装 meteor 时出错

javascript - jQuery:使用 var 快捷方式分配数据以及如何链接函数在加载和单击时运行

node.js - Azure 函数-NodeJs-Sqlite-mscorlib-错误 : A dynamic link library (DLL) initialization routine failed

javascript - Restivus 未设置端点 Meteor 1.4

javascript - 将索引器传递到回调中的问题

node.js - 如何在 Sequelize 中使用迁移?

javascript - 在下一步之前等待 meteor 收集完成

javascript - 如何在新的 es6 模块语法中表达此 Node 导出

javascript - 使用时间流逝的 d3 中的颜色过渡

php - 对音乐播放器使用 Amazon S3 查询字符串身份验证