1
您好我已經寫在C分貝水平儀不斷讀取Linux ALSA和輸出STDOUT分貝級別的數字。C HTTP流媒體服務器流音頻分貝水平
現在我想通過HTTP和流式傳輸實時數據給客戶端,通過適當的js + html裝飾,它的行爲就像噪音計,帶有圖形和針。
因此,我想知道是否有人能指出我的方向將它們集成到HTTP流媒體服務器中,可以實時服務於多個客戶端。
您好我已經寫在C分貝水平儀不斷讀取Linux ALSA和輸出STDOUT分貝級別的數字。C HTTP流媒體服務器流音頻分貝水平
現在我想通過HTTP和流式傳輸實時數據給客戶端,通過適當的js + html裝飾,它的行爲就像噪音計,帶有圖形和針。
因此,我想知道是否有人能指出我的方向將它們集成到HTTP流媒體服務器中,可以實時服務於多個客戶端。
您可以使用多個C庫。一些C庫提供HTTP服務器功能,例如libonion或libmicrohttpd。其他庫提供HTTP客戶端功能,例如libcurl
所有正在使用的事件循環,例如, libev,libevent或至少一些多路複用系統調用像poll(2)
你也可以讓你的應用程序一個FASTCGI應用程序。
閱讀Advanced Linux Programming應該有所幫助。
您可以在程序中集成一個簡單的套接字服務器,該套接字服務器接受連接並簡單地將數字(字符串)流式傳輸到連接的客戶端。然後使用任何你想連接到這個服務器並讀出數據的webapp-framework(無論是PHP,Python或其他)。或者將值寫入文件,並讓webapp定期讀取此文件。 –
嗨,感謝您的信息,我希望可以將1個文件解決方案儘量減少延遲。而我沒有太多的插座編程在C中的exp。我的C編碼做分貝是在這裏:https://raw.github.com/c2h2/csounds-stuff/master/dB_meter_bar.c – c2h2
我不是專家,但你應該能夠使用CGI將它集成到像nginx這樣的標準網絡服務器中。但是,由於JavaScript的工作方式,在HTTP請求完成之前,您將無法看到數據。您需要平衡輪詢頻率與產生的延遲。 (TL; DR:沒有使用AJAX進行HTTP流式傳輸的東西。) – Potatoswatter