2012-11-13 193 views
1

我有一個連接到服務器並將動態數據寫入控制檯的C++控制檯應用程序(exe),如何使用node.js實時將該動態數據推送到Web應用程序。Nodej.s C++控制檯應用程序

+0

如果你的應用程序依賴於C++邏輯,我會潛心將C++應用程序轉換爲本地模塊。這裏有一個很好的資源來開始[Native Node Modules](http://kkaefer.github.com/node-cpp-modules/) – Sdedelbrock

回答

0

您可以在Node.js服務器代碼中作爲子進程啓動C++應用程序。我不知道你正在使用什麼(如果有的話)框架,但是在像Express.js這樣的框架中,這很容易在你的路由邏輯中完成。

你會想看看child_process節點文檔,可以在這裏找到http://nodejs.org/api/child_process.html

var exec = require('child_process').exec 
var _process = exec('command to invoke binary'); 
_process.stdout.on('data',function(data){ 
    console.log(data); 
}); 

該代碼包括child_process模塊,然後執行來調用您的C++二進制所需的命令。然後,它會等待並記錄此進程打印到標準輸出到控制檯的任何數據。您可以將此代碼包含在HTTP服務器中,而不是將其發送到控制檯,然後將其作爲響應數據的一部分發回。

+0

它的工作原理是這樣的,但控制檯數據又是動態的,並以毫秒爲單位刷新express res.send(data)我只能看到它一次.. – moeezed