日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > HTML >内容正文

HTML

利用mochiweb让服务端主动推送数据至前端页面

發布時間:2024/9/15 HTML 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 利用mochiweb让服务端主动推送数据至前端页面 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

對于智能化監控軟件,從wincc等國外的有相當積累的系統,以及國內一些小型的智能化集成軟件,通常其監控數據通過前端綁定控件的方式,做到了實時的通訊,通過控件直接和后端服務交互。這種方式可以靈活的組態,但是對于當今用戶終端輕量化趨勢,其每一個監控點都對應一個控件,頁面在用戶體驗上顯得非常笨拙。


到了后期,一些系統開始考慮輕量的前臺頁面,AJAX開始流行,以及Comet技術,利用服務端推送的方式,通過長連接實現輕量化的數據展示。對于一些智能化常見的監控系統,例如LED、溫度、電壓,這些在BAS,FAS以及SCADA里常見的,無非提供了一個較大的提高。


這里提供了另外一種技術,可以直接通過mochiweb,實現后臺數據的推送。mochiweb是一個用Erlang編寫的服務器框架,其優勢在于推送效率,這也是erlang語言的一大吸引人的地方,并且小巧靈活,易于理解。對于頁面布局簡單,但是對實時性要求高的監控數據的推送,是一個較好的選擇。


mochiweb的輕量在于其web服務的輕量,搭建簡單(linux),下面提供了在fedora環境下安裝和搭建的步驟,簡要實現了一個后臺服務,通過socker接口接收數據,并實時推送展示到前臺頁面上:

  • 直接下載其源碼

    git clone https://github.com/mochi/mochiweb.git

  • 創建新項目(這里注意,mochiweb是直接創建一個輕量的web服務器,如果您有過使用,請原諒小編的嘮叨)

    make app PROJECT=mochipro PREFIX=/home/

    當您下載了mochiweb后,可以直接看其中的README文檔,有說明具體的建項目方式

  • 當創建完成后,進入新創建的目錄,啟動start-dev.sh腳本即可。現在您已經創建了一個web服務并運行,就是這么簡單。

  • 現在按照小編所說,我們要做的還有在現在的mochiweb基礎上,實現一個TCP的服務端,接收數據并實時展示在頁面上,這里的修改很簡單,只需要修改mochipro_web.erl里面的幾個方法即可,首先是start(Options)方法中,創建一個TCP服務端并監聽,并且把解析的邏輯寫好即可,這里列出改后的代碼,和原始代碼的不同參考原始的代碼比對即可:

    OK,現在只要自己開發一個TCP或多個(領教下其并發支持)TCP客戶端,不斷的向該服務器發送數據,即可看到炫酷的表現了,數據在無需刷新頁面的情況下,快速的在頁面更新。mochiweb的內部函數解析可以在網上查找,搭建過程中可能根據環境的不同會有不同的問題,包括一些問題細節,例如IP端口設置,頁面編碼,這里因為篇幅均省略,歡迎關注公眾號:智能化IT系統,進行進一步討論。

    當然該方式也有缺陷,就是上文提到的組態,以及對于元素復雜的頁面的展示。所以使用還是要綜合業務要求,頁面復雜度,性能等決定方案,對于實時性要求高,界面簡單的系統來說,不妨一試。

    總結

    以上是生活随笔為你收集整理的利用mochiweb让服务端主动推送数据至前端页面的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。