我正在尝试在node.js中建立一个简单的Web服务器。
服务器需要接收http GET命令并使用响应文本将请求的文件发送到客户端。
服务器通过socket.write()发送响应,通过fileAsAstream.pipe()发送文件,如下所示:
//Write the response text
socket.write("Without me, the response will not be written "); // I don't want this line
socket.write(responseText.toString());
// Pipe the file, it works perfect
var fileAsAstream = fs.createReadStream(url));
fileAsAstream.pipe(socket);
问题是,没有第一个socket.write(),响应文本(第二个socket.write())不会发送到客户端。 现在,它看起来就像一种缓冲。我试着做socket.setNoDelay(true),但它没有用。
如何删除第一个socket.write()以便仍然发送第二个socket.write()?
谢谢!