【发布时间】:2012-05-09 23:58:56
【问题描述】:
目前正在通过 HTTP 编写同步机制,我开始在 NodeJS 上构建我的服务器,这看起来是一个不错的解决方案。
好吧,我可以让 GET 和 HEAD 方法正常工作。 但是一旦我尝试使用非标准方法,例如“SYNC”。代码如下:
var http = require("http");
var server = http.createServer(function (req, res) {
res.writeHead(200);
res.end(req.method);
});
server.listen(8080);
看起来不错...让我们远程登录,发出一个 GET,然后发出一个 SYNC 请求
mylaptop:~ aob$ telnet localhost 8080
Trying ::1...
telnet: connect to address ::1: Connection refused
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
GET / HTTP/1.1
HTTP/1.1 200 OK
Connection: keep-alive
Transfer-Encoding: chunked
3
GET
0
SYNC / HTTP/1.1
Connection closed by foreign host.
知道如何让 SYNC 工作吗?
【问题讨论】:
-
好吧,我最终通过将我的 HTTP 方法添加到源本身来解决这个问题。您需要更改可以在源包中找到的 http_parser.c 和 node_http_parser.c。然后重新编译并玩得开心。
-
不错!您介意发布您的解决方案吗?
-
嗨 :) 一年多之后,恐怕我丢失了那个源代码。但这很简单,所以您可以按照上面的简短说明来解决它。
-
@aspyct,您在当前版本的 NodeJS 中是否存在此添加自定义 HTTP 方法的相关代码?
-
@VoidPointer 自从我使用 nodejs 以来已经有很多年了。不知道它现在在哪里,抱歉。
标签: http node.js networking