如何测试在 Node.js 中接收流/分块数据?

发布于 2024-12-29 17:50:27 字数 373 浏览 2 评论 0原文

我一直在探索 node.js api,并且遇到了 HTTP 服务器的“data”事件。我的问题是:假设有一个像下面这样非常简单的应用程序,我如何发送数据并调试流?

var http = require("http");

http.createServer(function(req, res) {
    req.setEncoding("utf8");
    req.on("data", function(data){
        console.log("request:\n" + data);
    });
}).listen(3000, "127.0.0.1");

我尝试过使用telnet和curl来发送请求,但没有取得任何成功。谢谢大家!

I've been exploring the node.js api, and I ran across the "data" event for HTTP servers. My question is this: assuming a dead-simple app like below, how could I send data, and debug the stream?

var http = require("http");

http.createServer(function(req, res) {
    req.setEncoding("utf8");
    req.on("data", function(data){
        console.log("request:\n" + data);
    });
}).listen(3000, "127.0.0.1");

I've tried using telnet and curl to send requests, but I haven't had any success. Thanks all!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

情独悲 2025-01-05 17:50:27

看来我混淆了 HTTP 和 TCP。如果您编写 TCP 服务器,而不是 HTTP 服务器:

var net = require("net");

net.createServer(function(req, res){
    req.on("data", function (data) {
        console.log("request:" + data);
    });
}).listen(3000, "127.0.0.1");

您可以轻松地通过 telnet(或 netcat)测试/调试到服务器的流数据:

$ telnet 127.0.0.1 3000

Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.

> this text
> should get
> streamed to
> node.js TCP server

It seems I was confusing HTTP and TCP. If you write a TCP server, rather than an HTTP server:

var net = require("net");

net.createServer(function(req, res){
    req.on("data", function (data) {
        console.log("request:" + data);
    });
}).listen(3000, "127.0.0.1");

you can easily test/debug streaming data to the server via telnet (or netcat):

$ telnet 127.0.0.1 3000

Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.

> this text
> should get
> streamed to
> node.js TCP server
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文