Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js通过套接字发送HTTP的二进制数据_Http_Node.js - Fatal编程技术网

Node.js通过套接字发送HTTP的二进制数据

Node.js通过套接字发送HTTP的二进制数据,http,node.js,Http,Node.js,我正在编写自己的http模块(我知道node.js包含一个) 我正在使用网络模块 当我收到对静态二进制(图片)文件的请求时,如何使用二进制文件生成HTTP响应? 当我对文本文件(例如html文件)执行此操作时,它只起作用。如果您使用的是net模块,则可能使用的代码如下: var server = net.createServer(function (socket) { }); 什么是插座?它表示网络上的数据流。 在对象中,套接字是一个可写流,请阅读以下内容: 读取文件时,可以将内容作为字符串

我正在编写自己的http模块(我知道node.js包含一个) 我正在使用网络模块 当我收到对静态二进制(图片)文件的请求时,如何使用二进制文件生成HTTP响应?
当我对文本文件(例如html文件)执行此操作时,它只起作用。

如果您使用的是net模块,则可能使用的代码如下:

var server = net.createServer(function (socket) { 
});
什么是插座?它表示网络上的数据流。 在对象中,套接字是一个可写流,请阅读以下内容:

读取文件时,可以将内容作为字符串、缓冲区或可读流获取

将文件作为流读取的最简单方法是使用以下函数: e、 g

为了将二进制读取流的内容传输到写入流,可以使用管道函数 e、 g


我能问一下你为什么要自己写吗?您需要为HTTP请求编写解析器,然后确保您的响应具有正确的头。你能把你的密码贴出来吗?当您请求映像时,什么操作会失败?你是如何发送测试请求的?这是为了学习…我编写了一个HTTP/1.1解析器,当我发送am html文件时,它可以工作,当我发送一个没有显示的图像时..(我发送正确的内容类型)
var fileAsAstream = fs.createReadStream(filePath); 
fileAsAstream.pipe(socket);