Tôi biết rằng Nút không bị chặn nhưng tôi nhận ra rằng hành vi mặc định của http.listen(8000)
có nghĩa là tất cả các yêu cầu HTTP được xử lý một lần. Tôi biết tôi không nên ngạc nhiên về điều này (đó là cách cổng làm việc), nhưng nó làm cho tôi nghiêm túc tự hỏi làm thế nào để viết mã của tôi để tôi có thể xử lý nhiều, yêu cầu HTTP song song.Xử lý nhiều yêu cầu HTTP song song trong Node.js
Vì vậy, cách tốt nhất để viết máy chủ để nó không hog cổng 80 và phản hồi dài hạn không dẫn đến hàng đợi yêu cầu dài là gì?
Để minh họa sự cố, hãy thử chạy mã bên dưới và tải nó lên trong hai tab trình duyệt cùng một lúc.
var http = require('http');
http.createServer(function (req, res) {
res.setHeader('Content-Type', 'text/html; charset=utf-8');
res.write("<p>" + new Date().toString() + ": starting response");
setTimeout(function() {
res.write("<p>" + new Date().toString() + ": completing response and closing connection</p>");
res.end();
}, 4000);
}).listen(8080);
http://blog.mixu.net/2011/02/01/understanding-the-node-js-event-loop/ – Paul