程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程解疑 >> html5-【求大神】canvas實時顯示二進制數據(純問題,無需寫代碼)

html5-【求大神】canvas實時顯示二進制數據(純問題,無需寫代碼)

編輯:編程解疑
【求大神】canvas實時顯示二進制數據(純問題,無需寫代碼)

這樣,有一台c++寫的頻譜儀,需要做一個網頁來實時它的顯示數據,800個點,100ms刷新一次。提供了兩個端口,一個傳輸數據一個進行控制,進行基於tcp協議的二進制數據傳輸,做個局域網形式的就行,連上就能顯示。

我的想法,顯示肯定用canvas,用的echarts,現在接收數據解析數據什麼都會,但是這個需要怎麼實現呢?看過nodejs和websocket、還有socket.io。

問題一、我還需不需要寫服務器,直接寫客戶端就行了嗎?那相關文件放在哪裡?
問題二、目前用的nodejs裡的net模塊,這個網上的例子很少,客戶端client.js也是要用cmd 裡node client.js來運行嗎?
問題三、socket.io那個方法我最中意,但是我模擬數據時用net方式可以連上軟件sokit,socket.io連不上,這個究竟能否實現tcp連接?

思路有些混亂,各路大神也可以直接說思路

最佳回答:


喜歡你這種只討論思路提問方式。 :)
你首先要確定自己需求中的幾個細節問題:
1. 你這個頁面只是用來看數據的,還是邊看邊要把數據存下來?
2. 如果你只想用一個純頁面搞定,那為什麼局限於html模式,而不采用獨立程序模式?

接下來假設你就是要用獨立的html模式做監控,且需要對數據做一定的記錄,那你就可以考慮這麼實現:
1. 首先你的頁面必須用HTML5實現,且需要用支持websocket功能的浏覽器打開。
2. 不管你的html裡用什麼框架,最終還是要調用底層的websocket來和遠程進行通訊,而且你的通訊協議是自定義的,因此個人建議你直接操作websocket代碼更簡單,頁面操作部分可以借用jquery一類簡化你的操作
3. 顯示部分你既然決定使用echart了,那就不必在意它的實現方式是不是采用canvas,只要把div容器設置到echat中後,再開個定時器自動輪詢加載相關的數據則可。
4. 無論你數據最終是否保存,為了體現你程序的友好性,你把采集的歷史數據用html5帶的localStorage進行保存一下,並在打開頁面時自動讀取這些數據進行展示。

按照這種模式開發後,你那台采集機器需要滿足以下幾個條件:
1. 所有的html和相關的css, js等文件需要保存在一個固定目錄中,由浏覽器直接打開首頁來加載。
2. 此機器需要和頻譜儀在同一個網段,因為它需要直接訪問頻譜儀所在的地址。
3. 此機器的浏覽器建議用火狐或谷歌的最新版,以防止html5支持不全,引起不必要的麻煩。

TDArray
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved