当前位置: 首页 > 面试题库 >

在Node.js网络中使用pipe()

轩辕佑运
2023-03-14
问题内容

我很难pipe理解net模块的几个Node.js示例中显示的功能。

var net = require('net');

var server = net.createServer(function (socket) {
  socket.write('Echo server\r\n');
  socket.pipe(socket);
});

任何人都可以提供有关其工作原理以及为什么需要这样做的解释吗?


问题答案:

pipe()功能从可读流中读取可用的数据,并将其写入目标可写流。

文档中的示例是回显服务器,它是发送接收到的信息的服务器。该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);
});


 类似资料:
  • Docker 允许通过外部访问容器或容器互联的方式来提供网络服务。

  • 1、外部访问容器 容器中可以运行一些网络应用,要让外部也可以访问这些应用,可以通过 -P 或 -p 参数来指定端口映射。 当使用 -P 标记时,Docker 会随机映射一个 49000~49900 的端口到内部容器开放的网络端口。 使用 docker ps 可以看到,本地主机的 49155 被映射到了容器的 5000 端口。此时访问本机的 49155 端口即可访问容器内 web 应用提供的界面。

  • 前几节介绍的LeNet、AlexNet和VGG在设计上的共同之处是:先以由卷积层构成的模块充分抽取空间特征,再以由全连接层构成的模块来输出分类结果。其中,AlexNet和VGG对LeNet的改进主要在于如何对这两个模块加宽(增加通道数)和加深。本节我们介绍网络中的网络(NiN)[1]。它提出了另外一个思路,即串联多个由卷积层和“全连接”层构成的小网络来构建一个深层网络。 NiN块 我们知道,卷积层

  • 除了调用我们的云函数 SDK 之外,你可能需要发起一些网络请求,你可以调用 BaaS.request 发起请求,实际上 BaaS.request 是对 axios 开源网络请求库的封装,请求示例如下: exports.main = function testSDKNetwork(event, callback) { BaaS.request.get('http://ip.taobao.com/

  • 问题内容: 因此,我正在编写一个小的辅助方法,使用将该数字转换为有效的货币格式()。在Chrome中使用时,一切正常,但是在Node.js中使用时,似乎完全坏了。 例: 如果在浏览器中运行此命令,它将显示。如果您在Node.js REPL或应用程序中运行此代码段,则它将作为字符串返回。 猜猜这是Node.js的错误吗?您可以在这里进行周围的工作吗? 问题答案: 基于此问题,似乎决定将具有国际化的n

  • 问题内容: 我想使用Python在本地计算机的网络浏览器(Chrome或Internet Explorer)中打开网站。 有没有可以为我做到这一点的模块? 问题答案: 该模块看起来很有希望