我很难pipe理解net模块的几个Node.js示例中显示的功能。
pipe
var net = require('net'); var server = net.createServer(function (socket) { socket.write('Echo server\r\n'); socket.pipe(socket); });
任何人都可以提供有关其工作原理以及为什么需要这样做的解释吗?
该pipe()功能从可读流中读取可用的数据,并将其写入目标可写流。
pipe()
文档中的示例是回显服务器,它是发送接收到的信息的服务器。该socket对象同时实现了可读和可写的流接口,因此它会将接收到的所有数据写回套接字。
socket
这等效于使用pipe()使用事件侦听器的方法:
var net = require('net'); net.createServer(function (socket) { socket.write('Echo server\r\n'); socket.on('data', function(chunk) { socket.write(chunk); }); socket.on('end', socket.end); });