1
我有一個潛在的C應用程序驅動一些相當密集的硬件。我目前正在爲該設備設計一個Web界面,其大部分功能是向用戶顯示狀態信息。所以每隔一秒鐘左右,更新網頁上的相關信息(溫度,幀速率,yada yada ...)字段該設備運行Linux和Apache。當前設置:從網絡狀態頁AJAX調用運行C代碼的最佳實踐?
- 的Javascript使一個AJAX調用(從setInterval的)
- PHP文件運行時,寫入FIFO
- C應用程序讀取FIFO,確實根據輸入的一些工作(可能是空白,意義只是給我的統計數據),寫回FIFO
- PHP文件從FIFO讀取,分析,json_encode,回聲
- 的JavaScript解析JSON和更新 頁
這裏是你進來的目標......目標是取出PHP中間人。對於C程序的AJAX調用,有什麼約定(假設它們存在)?最佳實踐?
選項(據我所知):
- Sockets。讓C程序在特定端口上偵聽.Something similar here.
- Node.js.我不熟悉這一點,我從來沒有使用它。但是我短暫的曝光讓我覺得這可能對它有很大的用處?據我瞭解...它是「在服務器端的JavaScript」,但它實際上是C代碼?這裏需要一些見解。
- CGI。 CGI可以與一個持續運行的C程序一起工作嗎?或者在被調用時從零開始加載C程序?
- HTML5 WebSockets?
任何洞察讚賞。當然,最好的答案很可能沒有在上面列出。這只是我在這方面知識的程度。謝謝!
這是更適合在論壇或聊天室。我們這裏的StackOverflow專注於解決您所面臨的具體問題。我沒有試圖說你的問題是愚蠢的,不好的或者其他的,它只是不在StackOverflow的範圍內。 – orlp
轉到node.js的方式 - 它支持WebSockets,以防止昂貴的'setInterval'輪詢。這不是C,它是純粹的js。 – moonwave99
@ moonwave99相當數量的節點是用C++編寫的;)可以用C++編寫節點擴展,參見http://www.lupomontero.com/writing-node-js-modules-in-cpp/ –