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