G-WAN,NodeJS和Streaming

时间:2016-01-21 08:30:25

标签: node.js g-wan http-streaming

G-WAN是否为每个用户请求启动新的NodeJS实例? (即,如果您将JavaScript用于servlet)例如,如果100个用户在特定脚本处理的同时请求操作。

我的主要问题是使用非C / C ++语言编写G-WAN脚本...可以从JavaScript servlet中使用sendfile吗?我想将大文件流式传输到不会在www文件夹中的客户端,而是从服务器上的指定文件路径传输。这可能吗?如果没有,NodeJS的流媒体可以在G-WAN中使用吗?

3 个答案:

答案 0 :(得分:1)

  

G-WAN是否为每个用户请求启动了一个新的NodeJS实例?

与其他语言(C/C++, Objective-C/C++, C#, PH7, Java, and Scala)不同,Javascript不作为模块加载,而是作为CGI流程执行,就像Zend PHPPerl一样。

所以,是的,除非你使用caching(无论是G-WAN还是你的),否则Node.JS的扩展性会很差。

  

可以从JavaScript servlet中使用sendfile吗?

是的,但是G-WAN拥有自己的异步机制,它的效率肯定更高[G-WAN方式" (正如Ken所建议的那样。)

如果你坚持使用来自Javascript的sendfile(),那么请记住,你必须在非阻塞模式下使用它并自己管理异步事件(同步调用阻塞当前的G-WAN工作线程)。 / p>

  

我可以将文件流式传输到不在www文件夹中的客户端吗?

是的,您可以使用系统symlink将外部文件夹映射到/ www资源 - 或者您可以在G-WAN handlerservlet内流式传输内容

答案 1 :(得分:0)

您可以从G-WAN流式传输内容;您可以从Node.JS流式传输内容。选择一个或另一个取决于您有什么其他要求,因为要么支持您提到的负载类型的流内容(假设合理的系统资源)。我有一个小的Node.JS服务器做一些URL重写和反向代理服务我们从第三方许可的内容。它完全独立于G-WAN服务器,HAProxy路由请求适当。从我刚刚在G-WAN下学到的JavaScript知识,我不想走那条路。根据您的描述,我将坚持使用C(或可能是C ++或G-WAN可以作为动态模块加载的其他一个)的纯G-WAN方法来编写servlet和处理程序。

从个人经验来看,我推荐C的简洁性,性能和紧凑性。 C ++也是一个不错的选择。 G-WAN Servlet和Handler通常是非常小的代码片段 - 特别是与编写完整的应用程序相比 - 所以即使您不是这些语言的专家,也可以在这里使用C或C ++。

看看G-WAN User's Manual底部附近的FLV流媒体的10行C代码实现。其他相关示例包括stream1.cstream2.cstream3.c

首先,我建议在10-second G-WAN installation process之后下载并安装G-WAN,然后调整servlet示例代码以提供您拥有的一些内容(即根据需要更改路径和文件名)。

祝你好运!

答案 2 :(得分:0)

通过在servlet中直接嵌入VM(Spidermonkey)来使用JS还有其他选择。