2012-03-18 50 views
0

我正在研究一个backbone rails应用程序,需要轮询服务器以同步可能已更改的集合和模型。我构建的原型是通过使用javascript的setTimeout对一组(JSON)数据包连续运行fetch()方法来实现的。构建主干网应用的自定义协议

这工作正常,但我想知道它将如何扩展和这需要多少维护开销。我想我需要建立一个非常类似于http的定制协议,其中rails API将数据包发送到客户端,并且客户端响应有关它是否收到数据包等的信息。目前,应用程序接收到在短时间内过期的数据包这不是非常健壮或有效。

是否有任何协议可以利用,或者我会采取哪些步骤来构建自己的简单协议。我想把这个抽象成一些需要其他开发人员无需理解的东西。最佳实践。

+0

是什么让你觉得你需要轮询服务器?为什么模型更新时服务器不能将消息推送到客户端? – 2012-03-18 06:07:20

+0

我认为推动不是我们的选择。不记得原因。我会仔细检查一下。 – Rimian 2012-03-18 08:28:38

回答

2

作为一个亲自“在那里,做到了”的人,我认为你是在预优化。也就是说,寻找一个问题,所以你可以创建一个解决方案。现在我会坚持使用标准协议,如果或者当它成为问题时,请查看优化技术。我几乎可以保证,它将花费更多的时间和调试等来开发一个像HTTP一样健壮和简单的协议。 HTTP可以是一个非常轻量级的协议。

但是,如果你不想听从我的建议,XMPP是一个很好的轻量级消息协议。

祝你好运。

+0

很可能你是对的(关于预优化)。有一个传统的应用程序,在这附近有相当多的开销。我会看看XMPP并记住它。谢谢! – Rimian 2012-03-18 08:31:10