關于網頁實現串口或者TCP通訊的說明

概述【關于網頁實現串口或者TCP通訊的說明】最近經常有網頁聯系我,反饋為什么他按我說的方法,寫的HTML代碼,無法在chrome網頁中運行 。這里我統一做一個解釋,我發現好多網頁并沒有理解我的意思 。其實,要實現在HTML中進行串口或者TCP通訊,有兩種方案 。
方案一:專用瀏覽器具體的實現方法就是,一般會使用Cef來開發一個瀏覽器,然后將串口和TCP的通訊功能,擴展出來,以實現在HTML中 , 可以調用擴展腳本,實現通訊 。相當于瀏覽器的殼代理了一下 。這種方案呢,你寫的HTML通訊代碼 , 就只能使用專用的瀏覽器,不支持在其他瀏覽器中使用 。這個在我博客中能夠找到案例 。這種方案的好處呢,就是你發給客戶一個專用的瀏覽器 , 來展示你的平臺系統 ??蛻舨恍枰惭b其他的軟件 。
方案二:本地CS客戶端代理具體的實現方法就是,你寫一個CS的代理程序實現通訊功能 , 同時開放出來一個websocket通訊API,網頁呢,通過websocket與代理程序交互 , 實現通訊功能 。因為HTML使用的是通用的websocket來實現串口通訊,所以主流瀏覽器都會支持 。這種方案呢,你寫的HTML通訊代碼 , 可以在任何瀏覽器上運行,任何通用瀏覽器都可以使用,但是必須在客戶的電腦上安裝一個CS客戶端代理一下 。這種方案的好處呢 , 是你需要在客戶電腦上安裝一個代理程序,然后客戶就不限制瀏覽器了 , 用啥瀏覽器都可以,不改變用戶的使用習慣 。
總結由于瀏覽器考慮到安全,HTML在瀏覽器上訪問時 , 是不允許訪問本地資源的 。本地資源包含本地的磁盤,串口設備等等 。所以一般的HTML是無法實現通訊功能的 。很多同學,誤以為有什么捷徑可以實現,其實是沒有的 。我的這兩種方案只是一種拆中的方案,可以變相的實現而已,體驗上都會有折扣 。而且通常情況下windows平臺用戶會多一些,一般不考慮多平臺 。在網頁中實現通訊功能的 , 多數也還是用CS來實現,畢竟相對穩定一些 。如果場景比較少 , 可以采用上面的方案 。技術沒有對與錯,在什么情況下最合適就用什么技術,這就是對的 。

    推薦閱讀