0

我写了这个示例服务器,

runServer = function(){
    var http = require("http");
    http.createServer(function (request, response) {
    request.on("end", 
    function () 
    {
        response.writeHead(200, {'Content-Type': 'text/plain'});
        response.end('Hello HTTP!');
    });
}).listen(8075);

}

现在我想从一个 html 页面运行这个服务器 onClick,有可能吗?如果是那怎么办??

4

3 回答 3

0

当然,你可以这样做,但这并没有多大意义。如果您从服务器获得 HTML 页面,那么为什么要启动另一台服务器在另一个端口上提供 http 请求?为什么不只运行你的服务器并监听两个端口呢?您可能只想做的是通过运行从命令行启动服务器

node myserver.js

在您的终端中。

但是,如果由于某种原因您真的想从像这样的 php 脚本启动另一个 http 服务器,您可以执行以下操作:

  • 单击按钮,向一些 php/python/something 脚本发出 AJAX 请求
  • 在 php/python/whatever 脚本中执行“node myServer.js”
  • 向 localhost:8075 发出请求

但是,我认为您确实应该在继续之前阅读一下 node.js 的目的以及它如何充当 Web 服务器,因为您的问题似乎反映了对该领域缺乏了解。

于 2013-02-01T18:26:41.287 回答
0

您必须使用不同的 Web 服务器(例如 LAMP 堆栈)在同一台机器上提供 HTML 页面,并使用服务器端脚本来运行 OS 命令“node servername.js”

于 2013-02-01T12:40:15.807 回答
0

通常您需要将此代码保存到文件中并从命令行运行:

 node mycode.js

但是,如果您想在本地机器上从 JavaScript 启动它,这里还讨论了两种解决方案:跨平台签名的 Java Applet 和 Windows 特定的 WScript.Shell。Java 小程序可以检查操作系统并在 Windows、Mac 和 Linux 可执行文件之间进行选择。

您还可以生成一个自定义 .exe 文件,该文件将启动 node.exe 并将所需的参数传递给它。

然而,从网络上下载的代码存在许多安全问题,无论解决方案如何,浏览器都可能会显示各种可怕的警告。考虑绕过浏览器启动节点可执行文件可能不是那么糟糕。

于 2013-02-01T12:43:38.273 回答