G-WAN會爲每個用戶請求啓動一個新的NodeJS實例嗎? (即,如果您將JavaScript用於servlet)例如,如果100個用戶同時請求由特定腳本處理的操作。G-WAN,NodeJS和Streaming
我的首要問題去與腳本G-WAN與非C/C++語言...可以從sendfile
一個JavaScript servlet的使用?我想將大文件傳輸到不在www
文件夾中的客戶端,而是從服務器上的指定文件路徑傳輸。這可能嗎?如果沒有,NodeJS的流媒體可以用於G-WAN嗎?
G-WAN會爲每個用戶請求啓動一個新的NodeJS實例嗎? (即,如果您將JavaScript用於servlet)例如,如果100個用戶同時請求由特定腳本處理的操作。G-WAN,NodeJS和Streaming
我的首要問題去與腳本G-WAN與非C/C++語言...可以從sendfile
一個JavaScript servlet的使用?我想將大文件傳輸到不在www
文件夾中的客戶端,而是從服務器上的指定文件路徑傳輸。這可能嗎?如果沒有,NodeJS的流媒體可以用於G-WAN嗎?
您可以從G-WAN流式傳輸內容;您可以從Node.JS流式傳輸內容。選擇一個或另一個取決於你有什麼其他的要求,因爲可以支持流式內容提供你提到的負載類型(假設合理的系統資源)。我有一個小型的Node.JS服務器進行一些URL重寫和反向代理服務來爲我們從第三方獲得許可的內容提供服務。它完全獨立於G-WAN服務器,可根據需要使用HAProxy路由請求。根據我剛剛在G-WAN上學到的JavaScript,我不想走這條路。從你所描述的內容來看,我會堅持使用C語言(或者可能C++或G-WAN可以加載爲動態模塊的其他語言之一)編寫servlet和處理程序的純粹G-WAN方法。
從個人的經驗,我建議下簡單,性能和緊湊。 C++也是一個不錯的選擇。 G-WAN小服務程序和處理程序通常只是很小的代碼片段 - 尤其是與編寫完整的應用程序相比 - 因此即使您不擅長這些語言,也可以在此處使用C或C++。
看看10線-的-C代碼執行近G-WAN User's Manual底部的FLV流光。其他相關的例子是stream1.c,stream2.c和stream3.c。
要開始使用,我建議您按照10-second G-WAN installation process下載並安裝G-WAN,然後調整servlet示例代碼以提供您擁有的某些內容(即根據需要更改路徑和文件名)。
祝你好運!
Ken
G-WAN會爲每個用戶請求啓動一個新的NodeJS實例嗎?
不同於其它語言(C/C++, Objective-C/C++, C#, PH7, Java, and Scala
),Javascript
沒有裝載作爲模塊和相當執行作爲CGI過程,就像Zend PHP
,或Perl
。
所以,是的,Node.js的將不良,除非你使用caching規模(無論是G-WAN的或你的)。
sendfile可以從JavaScript servlet中使用嗎?
是的,但是G-WAN擁有自己的異步機器,它肯定比「G-WAN方式」更有效率(Ken建議)。
如果您堅持使用Javascript中的sendfile(),請記住您必須以非阻塞模式使用它並自己管理異步事件(同步調用阻塞當前G-WAN工作線程)。
我可以將文件流式傳輸到不在www文件夾中的客戶端嗎?
是的,你可以只使用一個系統symlink
到國外的文件夾映射到/ WWW資源 - 或者你可以從G-WAN handler或servlet內流內容。
謝謝,但我似乎無法找到任何關於從JavaScript servlet使用'sendfile()'的例子,我只看到C例子 –
大多數G-WAN例子都是用C語言編寫的,原因很簡單:CPU/RAM佔用空間G-WAN。一旦使用像JS或Java這樣的運行時,您可以爲humungus庫集合(其中許多是小型G-WAN API冗餘,有時與它衝突)交易簡單性。同居對於許多情況而言非常有用,並讓您選擇正確的工具來完成特定的任務。不要試圖在JS中做什麼應該在C中做什麼。 – Gil
我認爲一個簡單的**不,你不能這樣做在JS **會幫助...不是每個程序員都與C家庭, m絕對不會爲GWAN學習C。無論如何,謝謝,我想我不得不求助於NodeJS的流媒體API和NginX –
在servlet中直接嵌入VM(Spidermonkey)還有其他選擇。
但是,然後,這將可用於服務器編程或只是爲了執行代碼的JavaScript片段,它不會真的像服務器端腳本...我是一個JavaScript(NodeJS)dev ....沒有C/C++背景 –
@Onenepee Peps可以通過https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey/JSAPI_Reference/JS_DefineFunction向您的腳本公開G-WAN API(或任何本機功能)。所以,是的,它是可用的,但首先需要一些C++工作 – deepinit
**僅供參考:** G-WAN的JavaScript實現由NodeJS處理(您必須安裝node.js)。所以我的意思是使用JavaScript servlet,你可以流式傳輸一個不在'www'文件夾中的文件,而是在磁盤上的某個位置?我試圖建立一個安全的文件託管系統 –
哇,這是我對G-WAN的JavaScript機制的新聞。我會稍微調整一下我的答案。我仍然建議選擇C或至少一種其他語言,以便在運行時將代碼動態綁定到服務器。爲了提供不在www/...路徑中的內容,我使用了像Gil建議的符號鏈接,然後我有一個404處理程序,它可以動態地生成並提供缺少的內容(即,下一個相同位的請求將會在符號鏈接的位置找到它)。 – Kenigmatic