【问题标题】:Write a serverside c++/openGL App, that is accessible via JavaScript编写服务器端 c++/openGL 应用程序,可通过 JavaScript 访问
【发布时间】:2011-02-25 17:53:08
【问题描述】:

我目前有一个想法,我想从浏览器按需保存来自 c++/openGL 应用程序的图像。所以基本上我想在服务器上运行应用程序本身并有一个像这样的简单通信层:

JS -> 告诉应用程序进行计算(可能传递一个字符串或一些简单的数据) 应用程序 -> 完成后告诉 JS,并可能发送一个链接、文本或其他简单的东西。

我在网络服务器方面并没有太多经验,因此根本不知道这是否可能(这只是我的幼稚想法)。注意:我不是在谈论 webGL 应用程序,我只是想在 c++ 服务器端应用程序和用户之间进行简单的通信。

有什么想法吗?

非常感谢!

【问题讨论】:

    标签: javascript c++ communication


    【解决方案1】:

    基本上,无论您为 Web 服务器选择什么语言/框架,您只需要一个可从浏览器 JS 调用的接口,并且一旦服务器收到调用,您就可以在服务器中做任何您想做的事情。

    很可能是从服务器公开的任何 Web 服务接口。

    只需要保护您的服务器不会受到 DoS,因为这听起来像是一个巨大的过程。

    【讨论】:

    • 好吧,我不想从头开始编写一个网络服务器,难道没有办法让一个 c++ 应用程序可以从一个 apache 网络服务器访问吗?
    【解决方案2】:

    据我所知,JavaScript(至少在嵌入 HTML 时)是在您的本地机器上而不是在服务器上执行的,因此恕我直言,无法使用 JS 直接启动您的服务器应用程序。

    例如,PHP 在服务器端执行,因此您可以使用例如php system 函数调用服务器上的 C++/OpenGL 应用程序 - 通过网络浏览器按需启动。 通话结束后,您可以直接展示图像。

    【讨论】:

    • 啊,好点子!我也知道一些 PHP,所以问题是如何让 PHP 可以访问 c++ 应用程序。
    • 你知道系统功能吗? ->php.net/manual/en/function.system.php。或者 passthru() -> php.net/manual/en/function.passthru.php 您的 C++-App 可以将图像保存在临时目录中并返回它的路径。然后 php-skript 会很容易地执行 system() 调用,然后是这样的:echo "";
    • 好的,我可以简单地将命令行 c++ 应用程序放在 apache 网络服务器上吗?谢谢!
    • 这取决于您如何访问服务器。它是 linux/unix 服务器吗?你可以在那里执行文件吗?
    【解决方案3】:

    你总是可以使用 cgi 接口来调用你的应用程序 并让它将该图像保存在网络服务器可访问的位置。 然后让你的js通过ajax加载。 或者制作一个与应用程序对话的 cgi 应用程序,然后提供一个小的 包含图片的页面。

    [编辑] 回答 cmets: CGI 学起来并不复杂,多是简单的约定 你可以跟随。我认为它会给你最大的 灵活性。我不知道哪些 php mods 允许您离开服务器应用程序的舒适保护并与服务器上的其他内容进行交互。

    【讨论】:

    • 嘿,我不知道 CGI,但既然我知道一些 PHP,那也可以选择吗?
    • php 可以很好地提供图像,但是您需要找到将请求传递给应用程序的东西。如果您的应用程序只需启动一次,然后在创建映像后停止,您应该遵循 Elrohir 的建议。不过没试过。如果它继续运行并且必须以某种方式提交请求。有很多可能性可以做到这一点,其中只有少数是优雅的。我们需要有关该应用程序的更多信息。它只运行一次还是继续运行。它是自己做图片输出还是需要一些中间抓帧器...
    猜你喜欢
    • 2020-01-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-04
    相关资源
    最近更新 更多