我需要在node.js中实现HTTP服务器而不使用http模块。真有趣! 我在发送响应套接字时遇到问题。
我正在尝试获取文件,因此我的代码如下所示:
fileStream = fs.createReadStream('example.jpg');
fileStream.on("end", function (close) {
var str = "HTTP/1.1 200 OK\r\Content-Type: image/jpeg\r\n" //and some more headers.
socket.write(str);
socket.pipe(fileStream);
socket.end("\r\n");
});
我错过了什么?
我当然正在使用net模块来获取套接字和fs。
答案 0 :(得分:1)
您拥有的代码存在两个主要问题。
str
中。你也错过了第一个“\ r \ n”中的'n'。尝试这样的事情。创建读取流,发送响应和管道然后休息。
var str = "HTTP/1.1 200 OK\r\nContent-Type: image/jpeg\r\n\r\n";
socket.write(str);
var fileStream = fs.createReadStream('example.jpg');
fileStream.pipe(socket);