我想从第三方域上的一小段 Javascript 向 Meteor 服务器发送一些数据。我想发送很多小东西,因为它们发生了,所以我想使用 io-socket。
我可以想出几种方法:
连接到 meteor 的 socket-io 并“搭载”它。发送自定义事件(命名空间以避免冲突),并以某种方式在服务器端捕获这些事件。但是我在服务器上找不到要附加的套接字对象!
连接到 meteor 的 socket-io,假装是 meteor 客户端。在服务器端使用标准 meteor 功能捕获消息。是否可以像 meteor 客户端一样无需太多协议(protocol)就可以交谈?
在服务器上打开第二个 IO 套接字监听器,并让客户端连接到它。为此,我需要找到' app ' 对象。
运行一个完全独立的 Node 进程并让客户与之对话;它可以保存在 Meteor 使用的同一个 MongoDB 中。我可以做到这一点,但我喜欢将所有内容都放在一个过程中的想法。另外,我不确定它是否会触发 Meteor 中的更新事件。
我真的很想得到 #1 方面的帮助:我在哪里可以找到服务器上的 iosocket 对象?
否则,#2 可行吗?我怎样才能像 Meteor 客户一样说话?
最佳答案
您提到了一些不错的选择,而 DDP 客户端可能是最可靠的选择。但是,您可以使用 webapp
包(meteor add webapp
)设置普通的 Node.js REST API 端点。
WebApp.rawConnectHandlers
和 WebApp.connectHandlers
只是您可以附加 connect/express 中间件或处理程序的实例。
如果您直接写入 MongoDB,它会触发 Meteor 中的事件,只要您设置 oplog observe driver 即可。 .
关于javascript - 通过 iosocket 向 Meteor 发送数据,但不是从 Meteor 客户端(搭载 Meteor 的 io-socket),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24784939/