How is engine.io different from socket.io?

2019-04-03 06:52发布

LearnBoost seems to have a new project called engine.io that in theory seems to be similar to socket.io. 1) Under what scenarios would you use one versus the other? 2) For new projects that require HTML5 sockets based communication over node.js, should we use engine.io and NOT socket.io?

2条回答
手持菜刀,她持情操
2楼-- · 2019-04-03 07:15

engine.io is the new core for socket.io, so use socket.io unless you want some other API :-) According to the author of both modules, engine will be integrated into socket.io 1.0: http://groups.google.com/group/socket_io/browse_thread/thread/6e759a508b231b4

"What's next

1.0 is right around the corner, which features our next-generation realtime core, Engine.IO. The 0.9 branch will only receive maintenance updates to ensure maximum stability. "

查看更多
姐就是有狂的资本
3楼-- · 2019-04-03 07:26

From https://github.com/LearnBoost/engine.io

The main goal of Engine is ensuring the most reliable realtime communication. Unlike the previous socket.io core, it always establishes a long-polling connection first, then tries to upgrade to better transports that are "tested" on the side.

During the lifetime of the socket.io projects, we've found countless drawbacks to relying on HTML5 WebSocket or Flash Socket as the first connection mechanisms.

Both are clearly the right way of establishing a bidirectional communication, with HTML5 WebSocket being the way of the future. However, to answer most business needs, alternative traditional HTTP 1.1 mechanisms are just as good as delivering the same solution.

查看更多
登录 后发表回答