Node.js:是否可以在没有外部模块的情况下模拟HTTP连接?

Node.js:是否可以在没有外部模块的情况下模拟HTTP连接?,node.js,Node.js,假设我有一个基本的HTTP服务器,比如nodejs.org上的服务器: var http = require('http'); http.createServer(function (req, res) { res.writeHead(200, {'Content-Type': 'text/plain'}); res.end('Hello World\n'); }).listen(1337, '127.0.0.1'); console.log('Server running at htt

假设我有一个基本的HTTP服务器,比如nodejs.org上的服务器:

var http = require('http');
http.createServer(function (req, res) {
  res.writeHead(200, {'Content-Type': 'text/plain'});
  res.end('Hello World\n');
}).listen(1337, '127.0.0.1');
console.log('Server running at http://127.0.0.1:1337/');
是否可以在不使用任何npm模块socket.io、connect等的情况下模拟与此服务器的连接


我发现只使用pure Node.js的唯一方法是在本地使用并运行服务器和客户端模拟器的实例。然而,我不确定这有什么缺点,或者这是一个有效的选择。例如,如果我尝试模拟多个连接,这会起作用吗?在这种情况下,网络速度是一个瓶颈吗?有更好/更简单的方法吗?

当然,您可以从计算机内部发出HTTP请求,您也不会模拟它,您也会进行实际连接。NodeJS的内置http模块附带一个客户端和一个服务器

var http = require("http");
http.get("http://localhost:1337", function(resp){
   console.log("Request made!", resp);
});

当然,您可以从计算机内部发出HTTP请求,您也不会模拟它,您也会进行实际连接。NodeJS的内置http模块附带一个客户端和一个服务器

var http = require("http");
http.get("http://localhost:1337", function(resp){
   console.log("Request made!", resp);
});

在最初的文章中,我所说的模拟是指模拟一个试图连接到我的服务器的外部用户,而不是模拟HTTP连接本身。但是,这是否适用于多个连接,并且仍然是用户连接的有效模拟器?代码方面,在for中重复连接loop@cgf是的,会的。建立HTTP连接是外部用户连接到服务器的方式。您可以在一个循环中建立多个连接-这并不是说客户端默认情况下受其并行建立的连接数的限制,但这是可以解决的,并且与其他第三方库不一样。我还使用它来模拟与服务器的多个连接,在for循环中重复连接,但是当使用.abort方法中止这些连接时,这些连接会随机获得以下错误:{[error:read ECONNRESET]code:'ECONNRESET',errno:'ECONNRESET',syscall:'read'}。知道为什么会这样吗?非常感谢:在最初的帖子中模拟,我的意思是模拟一个试图连接到我的服务器的外部用户,而不是模拟HTTP连接本身。但是,这是否适用于多个连接,并且仍然是用户连接的有效模拟器?代码方面,在for中重复连接loop@cgf是的,会的。建立HTTP连接是外部用户连接到服务器的方式。您可以在一个循环中建立多个连接-这并不是说客户端默认情况下受其并行建立的连接数的限制,但这是可以解决的,并且与其他第三方库不一样。我还使用它来模拟与服务器的多个连接,在for循环中重复连接,但是当使用.abort方法中止这些连接时,这些连接会随机获得以下错误:{[error:read ECONNRESET]code:'ECONNRESET',errno:'ECONNRESET',syscall:'read'}。知道为什么会这样吗?谢谢: