Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/429.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么socket.post()比socket.emit()慢[太慢了]_Javascript_Node.js_Socket.io_Sails.js - Fatal编程技术网

Javascript 为什么socket.post()比socket.emit()慢[太慢了]

Javascript 为什么socket.post()比socket.emit()慢[太慢了],javascript,node.js,socket.io,sails.js,Javascript,Node.js,Socket.io,Sails.js,我正在Nodejs中构建一个可恢复的文件上传程序。首先,我使用socket.emit()在raw Node.js中实现了它,然后我将它移植到Sails.js,并从客户端使用socket.post()调用Sails控制器。我发现使用socket.emit()的实现比使用socket.post()的实现快得多。有谁能告诉我为什么…Socket.post并不存在。这是sails在sails.io.js中添加的一种方便方法。它允许您在经过路由等的套接字上伪造POST请求,从而允许您在套接字上使用rest

我正在Nodejs中构建一个可恢复的文件上传程序。首先,我使用
socket.emit()
在raw Node.js中实现了它,然后我将它移植到Sails.js,并从客户端使用
socket.post()
调用Sails控制器。我发现使用
socket.emit()
的实现比使用
socket.post()的实现快得多。有谁能告诉我为什么…Socket.post并不存在。这是sails在
sails.io.js
中添加的一种方便方法。它允许您在经过路由等的套接字上伪造POST请求,从而允许您在套接字上使用restful设置

使用emit只是通过特定的套接字连接发出一个事件,您可以在该套接字连接上对服务器端做出反应。除非你特别要求,否则它不会通过路由


因此,回顾一下,
socket.post()
有魔力,而
socket.emit()
没有,只是使用socket.io提供的emit方法。

sails.io.js是否在每个新socket.post()上创建新连接。。?如果不是,为什么它比socket.emit()慢。它不是。连接保持不变。它的速度较慢,因为它在客户端和服务器端都进行了更多的处理(想想:蓝图、路由、日志等)。。为什么socket.post()与socket.emit()相比太慢了。。?