【发布时间】:2013-10-24 11:18:31
【问题描述】:
在 NodeJS 的最新几个版本(撰写本文时为 v0.10.X)中,Streams API 进行了受欢迎的重新设计,我想现在开始使用它。
我想用一个实现协议的对象来包装套接字的输入 和 输出。
所谓的Duplex接口,似乎就是任何可读可写的流(如socket)。
尚不清楚 Duplexes 应该像 A 还是 B,或者它是否无关紧要。
+---+ +---+
-->| A |--> | |-->
+---+ | B |
| |<--
+---+
对于具有两个可写和两个可读对象的正确代码结构/接口是什么?
+--------+ +----------+ +----
| r|-->|w r|-->|w
| socket | | protocol | | rest of app
| w|<--|r w|<--|r
+--------+ +----------+ +----
上图的问题是protocol对象需要两个独立的read方法和两个write方法。
在我的脑海中,我可以让协议产生“左”和“右”双工对象,或“输入”和“输出”双工对象(以不同的方式对其进行切片)。
这些是首选方式,还是有更好的解决方案?
【问题讨论】:
标签: node.js sockets stream duplex