node.js中的TCP流处理

用户名

我有类似以下的代码。第一次可以正常运行。之后,我得到一个write after end我了解问题所在,但不知如何正确解决。到目前为止,我尝试打开管道并使用Half Open Connections。我觉得自己没有想法和例子。

server = require('net').createServer (input) ->
  input
    .pipe(someTransformObjectStream)
    .pipe(foo)
    .pipe(bar)

堆栈跟踪:

events.js:72
    throw er; // Unhandled 'error' event

Error: write after end
  at writeAfterEnd (_stream_writable.js:130:12)
  at someTransformObjectStream.Writable.write (_stream_writable.js:178:5)
  at write (_stream_readable.js:583:24)
  at flow (_stream_readable.js:592:7)
  at Socket.pipeOnReadable (_stream_readable.js:624:5)
  at Socket.EventEmitter.emit (events.js:92:17)
  at emitReadable_ (_stream_readable.js:408:10)
  at emitReadable (_stream_readable.js:404:5)
  at readableAddChunk (_stream_readable.js:165:9)
  at Socket.Readable.push (_stream_rea
vkurchatkin

问题是您将相同的转换重新用于新连接,但是已经结束。您需要为每个连接创建新的转换

server = require('net').createServer (input) ->
  input
    .pipe(createSomeTransformObjectStream())
    .pipe(createFoo())
    .pipe(createBar())

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Node.js中管道中未处理的流错误

来自分类Dev

如何在Node.js中处理与集群的TCP连接

来自分类Dev

node.js流中的控制流

来自分类Dev

我如何处理node.js中(cli)输出的(cli)stdout流的字符编码?

来自分类Dev

如何处理node.js可写流中的结束信号?

来自分类Dev

如何在保留顺序的同时异步处理Node.js中的流事件?

来自分类Dev

Node js流中的执行顺序

来自分类Dev

Node.js-如何处理流错误事件

来自分类Dev

Node.js中的TCP打孔

来自分类Dev

node.js-处理TCP套接字错误ECONNREFUSED

来自分类Dev

Node.js无法处理多个TCP消息

来自分类Dev

Node.js中的处理程序响应

来自分类Dev

处理Node js中的多个错误

来自分类Dev

在Node.js中批处理

来自分类Dev

Node.js中的处理程序响应

来自分类Dev

在Node.js中处理图像

来自分类Dev

node.js 中未处理的错误

来自分类Dev

通过TCP的Node.JS无限制并发/流背压

来自分类Dev

Node.js流objectMode

来自分类Dev

Node.js流与sendFile

来自分类Dev

Node.js从CouchDB流视频并显示在视频标签中

来自分类Dev

在Node.js中编写两个Transform流

来自分类Dev

如何在Node.js中创建双工流?

来自分类Dev

解析tarball流以获取node.js中的特定文件

来自分类Dev

在Node.js中编写两个Transform流

来自分类Dev

关于Node.js中的异步执行流

来自分类Dev

在node.js中的流中发生什么顺序的事情

来自分类Dev

Node.js中的Mongodb Tailable游标,如何停止流

来自分类Dev

流读取在Node.js中返回空