问题标签 [ddp]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
480 浏览

meteor - Meteor DDP服务器到客户端规范:开头的奇怪字符

我现在正在发现 Meteor DDP 协议,没有太多关于它的文档。

我发现 Meteor 服务器在每个消息块前发送一个字符(这些消息像字符串一样发送,你知道为什么吗?),如下所示:

(键已更改)

前置这个字符的目的是什么?我在哪里可以阅读有关它和低级 DDP 规范的更多信息?我是否保证(至少对于pre1版本)所有消息都以字符串编码,并且这些字符串连接成数组,并且每个这样的数组都以自定义字符开头?

0 投票
1 回答
2314 浏览

javascript - 在非流星网页中嵌入流星应用程序

我正在尝试将托管在服务器 (A) 上的流星应用程序 (a) 嵌入在网络服务器 (B) 上运行的网页 (b) 中(在我的情况下,流星应用程序正在meteor.com 上运行并且网页 (b) 已构建在 Drupal 上并托管在另一台运行 nginx 和 php 的服务器上)。我找到了以下可能的解决方案,但没有一个效果很好或很优雅。

  • 将应用程序 (a) 插入网页 (b) 上的 iframe 中:无法很好地集成,笨拙的解决方案。
  • 在网页 (b) 中添加已编译的流星应用程序 js 脚本并提供必要的meteor_runtime_config以指示应用程序连接到服务器 (A):这有效并且应用程序已嵌入,我可以访问 Meteor js 对象但应用程序是渲染包裹在<html><body>标签中,所以它没有多大用处,因为我不能真正将它定位在页面中。感觉就像是在和流星战斗,而不是和它玩得很好。
  • 通过 DDP 客户端(例如https://github.com/eddflrs/meteor-ddp )连接到流星服务器:虽然这提供了流星的大部分实时数据传输功能,但感觉好像我并没有真正使用流星,因为我必须在网页 (b) 中实现所有 js 逻辑,并且让流星只处理数据传输。

有没有其他解决方案或方法来改进前面提到的任何一个?这甚至有可能吗,还是我试图以一种非设计的方式使用流星?我在 github 上看到过它“我们支持在非 Meteor 内容中嵌入 Meteor 内容” https://github.com/meteor/meteor/issues/546#issuecomment-11458672但这实际上意味着什么?

0 投票
1 回答
137 浏览

javascript - Meteor DDP 即使仅在一次更新后也发送多于一条消息

目前 DDP 有一些问题。对于一个问题,所有工作都非常完美。我有一个收藏品,我正在观察这些变化。当我最初调用 sub 时,它会通过添加的 .. 发送所有数据(我明白了)。但是,当我通过添加新记录来更新同一个集合时,会调用两次观察更改,然后再次发送整个集合,而不仅仅是增量(即新添加的记录)。

有什么理由会发生这种情况。该代码与标准计数示例非常相似,接受当我在添加的函数中进行控制台登录时,它会两次打印出相同的 id,然后几秒钟后将整个数据集发送回。只有一个客户端连接到它,所以它不是另一个客户端。

当我调试客户端时,我可以看到发送了两次记录。客户端是 DDP 的 android 实现。

任何帮助将不胜感激。

0 投票
1 回答
1223 浏览

ios - 为什么使用 DDP 与 Meteor 服务器对话比使用 JSON 更好?

我对编写 iOS 应用程序以及其他需要与我的 Meteor 服务器通信以更新和获取信息的客户端应用程序感兴趣。

使用这个集合 API https://github.com/crazytoad/meteor-collectionapi

我可以使用 iOS 应用程序中的 restful http 方法和 JSON 对流星集合执行 CRUD 操作。

但我读到最好使用 DDP 与 Meteor 服务器通信。这意味着我必须获得一些 iOS DDP 通信工具。JSON 解析和 http 请求内置在 xcode 中。为什么要使用 DDP?

0 投票
0 回答
316 浏览

node.js - 流星 DDP 到 ODATA

我需要做什么来通过 DDP 替换服务器端 Mongo DB 以读取/写入 DDP 中的一组 ODATA 服务。

最好创建一个订阅 Meteor DDP 的 DDP 客户端,或者我应该如何实现它。

或者这是一个 Node DDP 服务器?如果是这样,DDP 服务器的示例在哪里?

干杯

0 投票
2 回答
1516 浏览

ruby-on-rails - 如何使用 Rails 作为 DDP 服务器和 Meteor.js 客户端

我们有一个仅执行 HTTP API 的 Rails 应用程序。在客户端,目前使用的是 Ember.js。Ember 并没有给我们留下太多印象,并且非常喜欢 Meteor.js 采用的方法。因此,我们希望将客户端与 Meteor.js 交换,并通过使用数据分发协议 (DDP) 的 websocket 与 Rails 服务器进行通信,这样我们就可以继续使用 Rails 中的模型、邮件程序和控制器。实现 DDP 的服务器端应该很容易。

但是,我们不确定如何让 Rails 与 websocket 对话。我们找到了 Reel,它似乎可以很容易地在独立环境中接受 websocket 请求。Reel 看起来很棒,因为无论如何我们都希望在赛璐珞堆栈之上实现 DDP。但是在 Rails 环境中运行 Reel 呢?我们需要“rails runner”吗?我们希望继续使用现有的控制器来分派传入的请求(例如,添加/更改/删除资源)。如果没有通过 Rack 的请求,这是否可能?

任何输入表示赞赏。

0 投票
1 回答
326 浏览

javascript - Meteor 和 Node 之间的双向通信

我正在构建一个 Node 应用程序,该应用程序通过串行与 Xbee 通信并读取/控制多个也配备 Xbee 的传感器/继电器。我想将 Meteor 用于 Node 应用程序的用户界面和数据存储,只需在 Meteor 应用程序触发时发送传感器更新和控制继电器。在 Node 和 Meteor 应用程序之间进行通信的正确方式是什么?我知道我可以使用 Node DDP 客户端将传感器读数插入 Meteor 应用程序。我遇到问题的部分是从 Meteor 向 Node 应用程序发送命令以控制继电器。我只需要发送一个命令,该命令将在 Node 应用程序上执行某些代码来切换继电器。也许这是一个简单的问题,但我不确定实现这一目标的最佳方法。提前感谢您的任何意见。

0 投票
1 回答
292 浏览

ruby-on-rails - 如何将 Rails 应用程序设置为 DDP 服务器以将集合提供给流星应用程序

我有一个带有一些集合的 Rails 应用程序,我想将它们设置为流星应用程序上集合的源。

据我了解,我可以通过这样做从流星连接到。

对于流星部分来说,这似乎很简单,但是我一直无法弄清楚如何采用 Rails 模型并将其作为出版物公开。

我在这里找到了 ruby​​-ddp-client https://github.com/knubie/ruby-ddp-client 并查看了这里给出的示例http://www2.bindle.me/blog/index.php/726/ augmenting-meteor-plugging-gaps-with-external-services,我仍然不明白如何使用上述示例公开一个简单的 Rails 模型。

任何帮助将不胜感激。

0 投票
1 回答
626 浏览

node.js - 我应该如何连接 IRC 机器人和 Meteor Web 界面?

我有几个关于 Node、IRC 机器人和 Meteor 的问题。

我是一个开始处理 Twitch.TV 流媒体的游戏社区的一员,因此(由于我对编程的热爱)被要求编写一个自定义机器人来管理社区流媒体频道。

我的问题是:

1) 链接 IRC 机器人(将使用 Node.JS 中的 IRC 库编写)和基于 Web 的管理系统(将使用 Meteor 构建)的最佳方式是什么。

有人告诉我,我可以使用 MongoDB 实例(由 Meteor 使用)作为项目的两个“部分”之间的连接点,使用 DDP 或其他方式非常有意义。

对于数据传输,这似乎很好,但如果我希望能够使用界面实际控制机器人,例如允许用户通过他的控制面板控制其频道的加入/分离

2)我的另一个询问是关于机器人(节点)和能够检测新用户,以及在创建帐户时自动加入他们的频道的能力。我知道 Meteor 是反应式的,并且可以立即处理对 MongoDB 实例的更改,但不确定您是否可以使用常规 Node 来做到这一点,或者如果可以......这将是多么困难。

也许我应该放弃“自动”的事情,并让用户在登录新帐户后手动让机器人加入他们的频道,允许他们根据自己的喜好配置机器人(自定义命令等)。第一次使用。

提前感谢大家花时间阅读这篇信息中篇小说,非常感谢。

0 投票
1 回答
324 浏览

java - 流星和java应用数据推送

我有这个设置 - Java 应用程序正在收集数据并将其推送到 mongodb 以供客户端检索和显示。我想尝试在客户端使用流星。使用流星的最佳方法是什么:

  • 使用 DDPClient 连接到流星的 mongodb 并且将数据推送到它或

  • 将流星配置为指向我现有的 mongodb,该 mongodb 已经从我的 Java 应用程序收集数据