通过iosocket发送数据给meteor,但不是来自Meteor客户端(搭载Meteor的io-socket)

我想通过第三方域的一小部分Javascript将一些数据发送到Meteor服务器。 我想发送很多小的东西,所以我想用一个io-socket。

我可以想象一下这样做的几种方法:

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

  2. 连接到meteor的socket-io,假装成meteor客户端。 使用服务器端的标准meteor函数捕获消息。 有没有很多协议可以像meteor客户一样谈话?

  3. 在服务器上打开第二个IO套接字侦听器,并让客户端附加到该服务器上。 为此,我需要find“ 应用程序 ”对象。

  4. 运行一个完全独立的节点进程,并让客户与之交谈; 它可以保存在Meteor使用的MongoDB中。 我可以做到这一点,但我喜欢把所有东西放在一个过程中。 另外,我不确定是否会触发Meteor的更新事件。

我真的很喜欢#1的帮助: 我在哪里可以find服务器上的iosocket对象?

否则,#2是可行的吗? 我怎么能像meteor客户那样谈话?

你提到了一些很好的select,DDP客户端可能是最强大的方法。 但是,您可以使用webapp软件包( meteor add webapp )来设置正常的Node.js REST API端点。

WebApp.rawConnectHandlersWebApp.connectHandlers只是您可以连接到连接/expression中间件或处理程序的实例。

如果您直接写入MongoDB,只要您设置了oplog观察驱动程序 ,就会触发Meteor中的事件。