我想要在Web視圖上顯示遠離Telnet界面的數據。我有一個運行的守護程序,它讀取CAN總線數據並生成約500行,每秒約40個字符到一個telnet端口。這是一些以100赫茲運行的消息,大多數運行在10或5赫茲的消息,因此總計約爲500 /秒。我想抓住每個數據包中的最新值並將其顯示在網頁上。該網頁在本地加載(不通過HTTP),守護進程可能位於不同的主機上,因此存在跨域通信。在Web視圖上顯示來自Telnet界面的高速數據的最佳方式?
這是我嘗試和失敗的事:
- 使用XMLHttpRequest。我可以打開連接並讀取數據,但是當我得到onprogress事件時,我無法清除先前值的responseText字段。我無法解析responseText的最新價值,因爲這種增長非常快。我也會遇到記憶問題,所以這是一個不行。
- 的WebSockets和Socket.IO:既不已經證明是成功的連接到一個遠程登錄界面,因爲它預計HTTP起初,然後轉換爲直接套接字。
所以我的問題是,我該如何最好地實現這一點?有些選項我看,但我敢肯定有更多:
- 添加HTTP套接字在canlogserver守護我試圖連接到轉換。怎麼樣? (它是開源的C,所以我可以添加到它)
- 寫一個PHP接口,通過telnet連接到後臺程序,並且可以通過HTTP數據泵回Web視圖。這通過IP棧多次訪問似乎非常低效。 <
- 任何的JS客戶端代碼繞過我的緩衝問題和讀取Telnet服務器,顯示數據信息,然後轉儲緩衝區別的嗎?一旦套接字打開,我需要確保我獲得全部消息,因此打開,關閉,重新打開將不起作用,因爲這將意味着消息丟失。
謝謝,
添