【问题标题】:HTTP Server on Android via node.js errors upon requestAndroid 上的 HTTP 服务器通过 node.js 请求错误
【发布时间】:2013-07-14 23:46:29
【问题描述】:

我正在 Android 上运行 node.js v0.11(通过 https://github.com/paddybyers/node)。我尝试尝试在此处找到的“Hello HTTP”示例:http://howtonode.org/hello-node,但是遇到了问题。

服务器启动正常,但是当我尝试连接到 http 服务器时(通过访问http://localhost:8000/),我收到了这个错误:

net.js:1156
  COUNTER_NET_SERVER_CONNECTION(socket);
  ^
ReferenceError: COUNTER_NET_SERVER_CONNECTION is not defined
    at TCP.onconnection (net.js:1156:3)

我的代码和 Hello HTTP 例子一模一样:

//Load the http module to create an http server.
var http = require('http');

// Configure our HTTP server to respond with Hello World to all requests.
var server = http.createServer(function (request, response) {
  response.writeHead(200, {"Content-Type": "text/plain"});
  response.end("Hello World\n");
});

// Listen on port 8000, IP defaults to 127.0.0.1
server.listen(8000);

// Put a friendly message on the terminal
console.log("Server running at http://127.0.0.1:8000/");

我该如何解决这个问题?

谢谢!

【问题讨论】:

  • 你能给我看看服务器的错误日志吗?
  • 那是服务器的错误日志。

标签: javascript android node.js


【解决方案1】:

使用 HAVE_PERFCTR 选项编译 Node.js。 (您需要为 Android 实现自己的 perfctrs。请参阅 node_counters.cc 第 130 行)。

还应该可以将脚本中缺少的函数定义为空函数。

PS: 您还需要 DTRACE。

【讨论】:

    【解决方案2】:

    我只是在 lib/ 下的 javascript 文件中注释掉了所有 COUNTER_NET_、COUNTER_HTTP_、DTRACE_NET_ 和 DTRACE_HTTP_ 调用。这相当于我从 net.js 和 http.js 中注释掉的大约 10 行。

    我认为 js2c.py 应该处理 src/macros.py 和 src/perfctr_macros.py 以便在将 lib/ 下的脚本序列化为 out/release/ 中的 C 数组时为您有效地“注释掉” src/node_natives.h,但这似乎没有发生。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-11-08
      • 1970-01-01
      • 2016-08-09
      • 1970-01-01
      • 1970-01-01
      • 2012-04-03
      • 2018-04-17
      相关资源
      最近更新 更多