【问题标题】:How do I access a node.js server from command line如何从命令行访问 node.js 服务器
【发布时间】:2011-06-25 22:00:23
【问题描述】:

这个问题的背景:

我正在使用 FFmpeg 转换视频 - 它工作正常。我正在使用 PHP 中的 exec() 将 FFmpeg 请求发送到命令行。我还使用 node.js 和 socket.io 向我的用户提供实时更新——这也很好。我希望能够在视频完成转换后发送实时警报。

我的问题是:

如何从命令行向我的节点服务器发送请求。我可以从命令行运行 JS 文件吗?如果不是,最好的方法是什么?

感谢您的建议,

克里斯。

【问题讨论】:

    标签: javascript shell command-line node.js websocket


    【解决方案1】:

    在您的情况下:直接通过 php 中的 url 而不是从命令行调用 node 更有意义。

    您可以使用 url 触发节点:

    1. 将函数添加到您的节点,例如“videoEncDone(user)”,并将其绑定到路径,例如“yournodeserver.de/videoEncDone”

    2. 编码/转换完成后,从 php(例如使用 fopen)调用 url,并在该请求的查询部分添加所有必要信息。

    3. 就是这样 :) - 调用 url 后,您在 node 中拥有所有信息(来自 url),并且可以从 node 与用户浏览器对话

    【讨论】:

    • 啊,出于安全原因,您应该在查询中输入一个秘密词 :)
    • Ni Nivoc,谢谢您的回复。如何从节点内与客户端的浏览器对话?
    • js页面发送过来的变量如何取回?
    • pagewil:js页面是什么意思?您可以将变量内容作为您调用的 url 的一部分传输,例如php 像 ?var1=123&var2=345
    • Christopher:我认为您已经使用 node 向浏览器客户端提供实时更新。 “我还使用 node.js 和 socket.io 向我的用户提供实时更新”
    【解决方案2】:

    我会选择卷曲。用 curl 触发节点。

    类似:

    curl localhost:3000/encodingCompleted?user=abc&secret=aWy7@
    

    现在节点知道“已完成”并且可以向用户发送实时更新。

    【讨论】:

    • 谢谢,我试试看!
    • 那是调用php页面吗?我使用 curl "curl: (3) malformed" 收到此错误。有什么想法吗?
    • 不应该调用节点。 curl :/path
    • 杜 你知道php什么时候完成视频吗?外部进程会返回php吗?
    • 嗨,是的,我可以调用 php 来更新数据库等,但不能在其中运行 js 函数。
    【解决方案3】:

    对于命令行 JS,您可以下载 MozillaChrome javascript 引擎的源代码并自己构建它们。

    【讨论】:

      猜你喜欢
      • 2014-07-15
      • 1970-01-01
      • 1970-01-01
      • 2014-04-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多