node.js - 如何通过已创建的套接字执行 HTTP?

标签 node.js

我有一些创建套接字的网络代码,我想使用 Node's standard HTTP API 在它们上执行 HTTP .

就这样开始

var http = require('http'),
    net = require('net');

var port = 12345;
http.createServer(function (req, res) {
  res.writeHead(200, {'Content-Type': 'text/plain'});
  res.end("Hello world");
}).listen(port);

var sock = net.createConnection({port: port});

如何将 sock 传递到 http.get() 或类似内容?

最佳答案

这可以通过自定义 http.Agent 来完成:

var agent = new http.Agent({ maxSockets: 1 });
agent.createSocket = function() {return sock};
http.get({
    host: "localhost",
    port: port,
    path: "/",
    agent: agent}, function(res) {
        // ...
    });

关于node.js - 如何通过已创建的套接字执行 HTTP?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25660913/

相关文章:

node.js - append 到已经存在的文件nodejs?

node.js - 意外标记 `' ../lib/cli.js'' 附近出现语法错误

javascript - 来自 Node.JS(使用 express)服务器的跨域 jQuery.getJSON 在 Internet Explorer 中不起作用

javascript - 管理事件监听器内部的逻辑; (我应该如何添加监听器?或者我应该使用条件 "gatekeeper"代替?)

javascript - 使用 Nodejs 进行网页抓取

javascript - Elasticsearch 关键词不匹配

node.js - Node/Express 服务器随机跳过静态文件请求

javascript - vue套接字连接未触发

javascript - 17位时间戳的区别

javascript - 无法在网页上获取 m4a 音频文件的长度