使用的流星端口(似乎被无线网络阻止)

时间:2013-08-20 14:15:58

标签: meteor

我在一个特定的无线网络中遇到一个奇怪的问题:在执行collection.find().fetch()时,集合无法访问且全部为空。我可以将新文档添加到minimongo(并找到它们),但我从未看到从mongodb加载的文档,也没有将新文档同步到服务器。请记住,这仅发生在一个特定的无线网络中。

此行为仅在部署到我自己的服务器时发生,而不是在部署到meteor.com时发生

流星项目本身只是一个文件:

Players = new Meteor.Collection("players");

if (Meteor.isClient) {
  Meteor.subscribe("players");
}

if (Meteor.isServer) {
  Meteor.publish("players", function() {
    return Players.find();
  });
}

安装的软件包

# Meteor packages used by this project, one per line.
#
# 'meteor add' and 'meteor remove' will edit this file for you,
# but you can also edit it by hand.

preserve-inputs
standard-app-packages
insecure

版本为0.6.5

我直接在Javascript控制台中进行测试。

Players.insert({name:'test2'})将创建一个新文档,但在重新加载后执行Players.find().fetch()时找不到此文档。在meteor.com上,重新加载后会找到该文档。

meteor.com部署地址:http://testcollections.meteor.com/ 我自己部署的地址:http://146.185.130.93/

非常感谢任何指针。

1 个答案:

答案 0 :(得分:0)

听起来有点像连接的websocket位没有通过连接。在流星中有两个连接,一个静态包含html,图像和js(看起来像它的工作),另一个通过websockets来处理数据和实时更新。

您可以在Chrome的javascript错误控制台中查看400个websocket错误,在这种情况下,它会尝试删除长轮询,这需要一段时间。

它可能像代理人一样困扰着你。我在没有HTTP代理但是也是一个看不见的袜子代理(通过iptables)的情况下遇到了这个问题。

如果上述情况属实,您可以通过查看Meteor.status()来表示其'等待'来快速检查。