node.js http服务器响应套接字写事件?

时间:2013-07-21 18:28:15

标签: node.js sockets http response

有没有办法控制tcp套接字写入的每一步,以了解大型图像数据传输的服务器端进度?

最糟糕的是,如何更改主节点bin文件夹以添加此事件?

最后,有人可以向我解释为什么node.js http tcp套接字的最大长度为1460?

1 个答案:

答案 0 :(得分:1)

来自documentation

  

socket.write(data,[encoding],[callback])

     

在套接字上发送数据。   第二个参数指定a的情况下的编码   string - 默认为UTF8编码。

     

如果将整个数据成功刷新到内核,则返回true   缓冲。如果全部或部分数据在用户中排队,则返回false   记忆。当缓冲区再次释放时,将发出'drain'。

     

数据时将执行可选的回调参数   最终写出来 - 这可能不是立即的。

     

事件:'排泄'

     

写入缓冲区变空时发出。可   用来限制上传。

     

另请参见:socket.write()的返回值

因此,您可以指定在刷新数据后调用的回调,也可以在套接字上注册“drain”事件处理程序。这实际上并没有告诉你另一方面的进展,但正确实现的服务器将在其队列已满时发送适当的通知,这将触发Node.js端的事件。