我正在考虑使用 Meteor 来创建我的下一个应用程序,但我之前有几个问题。
据我了解,服务器和客户端之间的通信使用 DDP 协议/WebSockets。哪些浏览器支持 Meteor?
Meteor 通信协议和 socket.io 有什么区别?
如果没有区别,是否有可能使用 socket.io 代替本机 Meteor DDP 协议 / WebSockets ?
Meteor 可以与 Yeoman(Paul Irish 开发的工作流框架)结合使用吗?
非常感谢您!
让我们看看我是否可以按照它们出现的顺序回答你的问题......
socket.io
是一个消息级协议,负责发送、接收和路由消息。相比之下,DDP(Meteor 协议)是一个更高级别的协议,它模拟了将数据库部分复制到浏览器和 RPC 调用。实际上,DDP在幕后使用了消息级协议:sockjs
.sockjs
基于 - 的。有一些包可以帮助实现普通的 websocket 功能 -Streamy
并且Streamy-rooms
浮现在脑海中。但是 Web 套接字功能和 DDP 之间存在很大差异。DDP 使用 websockets,但更多。websockets 中不包含诸如乐观更新之类的东西。此外,通过在客户端和服务器上都有一部分数据库,您不必连接套接字发射器和接收器。这使得开发更加直观和快速。如果您想要该特定行为,您还可以使用列出的包,例如,如果您不想将某些更改保留到数据库但仍要将它们发送给特定用户。