与socket.emit()相比,为什么socket.post()变慢[太慢]

时间:2014-06-18 13:39:32

标签: javascript node.js socket.io sails.js

我正在Nodejs中构建一个可恢复的文件上传器。首先,我使用socket.emit()在原始Node.js中实现它,然后将其移植到Sails.js并使用来自客户端的socket.post()调用sails控制器。我发现使用socket.emit()的实现比使用socket.post()的实现要快得多。任何人都可以告诉我为什么...... ??

1 个答案:

答案 0 :(得分:2)

Socket.post不存在 。这是sails.io.js中帆增加的便利方法。它允许您在通过路由等的套接字上伪造POST请求,允许您在套接字上使用您的restful设置。

使用emit只会在您可以响应服务器端的特定套接字连接上发出事件。除非您特别要求,否则它不会通过路由。 Here's a link to the specific line in 0.9

所以,回顾一下,socket.post()做了魔术,而socket.emit()没做,只是使用了socket.io提供的emit方法。