gpt4 book ai didi

node.js - Node.js 中的简单 Hello World 问题

转载 作者:太空宇宙 更新时间:2023-11-04 01:16:40 24 4
gpt4 key购买 nike

我是 Node.js 新手,并且有这个非常简单的代码。我只想每秒向连接到服务器的用户说声“用户好”。这是我的代码:

var http = require('http');

function newfunc(request, response) {
response.writeHead(200, {
"Content-Type": "text/plain",
"connection" : "keep-alive"
});
setInterval(function() {
response.write('Hi User\n');
response.end('');
}, 1000);
}
http.createServer(newfunc).listen(7070);

我只看到 Hi User 消息一次,并且似乎 setInterval 只写入一次。我在这方面做错了什么?

最佳答案

编辑:我在评论中立场正确......只需删除 response.end() 调用,您应该会看到类似于您所期望的内容。

原始响应:您尝试做的事情不能以这种方式完成...对 HTTP 请求的响应仅发送一次:调用 response.end() 时(第一次)。 评论者指出,这实际上并不正确:正确的说法是,在调用 end() 后,响应中无法发送更多数据。

如果你想显示一个 HTML 页面,其内容根据服务器端操作每秒发生变化,你将需要使用 WebSockets(例如 Node 兼容的 http://socket.io/ 库)和一些客户端 Javascript,这比上面的代码要复杂一些。 一般来说,对于不只是附加到响应或进行双向通信的重要 UI,这种类型的方法更可取

关于node.js - Node.js 中的简单 Hello World 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6834945/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com