傳統的http請求只能由客戶端發起,而服務端要想給客戶端源源不斷的傳送資料,必須由客戶端不斷的向服務端發起請求,ajax輪詢,這種方式顯然更加浪費開銷。
websocket是html5提供的一種在單個tcp連線進行全雙工的通訊協議。
瀏覽器和伺服器只需要乙個握手動作,就形成了一條快速通道,兩者之間即可方便的資料持續互傳,直到客戶端或者伺服器中的某一方主動關閉連線。
使用linux的tail -f讀取伺服器日誌,在前端實時展示。
新增依賴
org.springframework.boot
spring-boot-starter-websocket
註冊websocket服務
@configuration
public class websocketconfig
}
編寫controller
@serverendpoint("/log")
@restcontroller
public class websocketcontroller catch (ioexception e)
}/**
* websocket請求關閉
*/@onclose
public void onclose() catch (exception e)
if(process != null)
process.destroy();
}@onerror
public void onerror(throwable thr)
}
public class tailflogthread extends thread
@override
public void run()
} catch (ioexception e)
}}
前端html
啟動專案,訪問正常介面,有了! springboot向前端頁面實時列印日誌
輸出格式,用系統的,不然你輸出的東西 不會解析 layoutlayout override if eventobject null eventobject.getmessage null catch exception e serverendpoint logutil slf4j restcontr...
前端窗體實時重新整理
本次實現的功能 刷卡。介面連上刷卡機,當沒有卡時,提示 尋卡失敗 有卡時,直接獲取卡的物理卡號,因為使用的是建立的生命週期函式,只能獲取一次卡號,如果進行換卡時,需要進行重新整理介面,所以就有了讓窗體實時重新整理的功能,本次設定5秒一重新整理,通過if判斷,當卡號框不為空時,呼叫isend方法,進行...
springboot整合資源搭建實時平台
建議在 linux上執行,elk在windows上支援得不好,另外需要jdk1.8 的支援,需要提前安裝好jdk.cd usr local mkdir logstash tar zxvf logstash 5.3.2.tar.gz mv logstash 5.3.2 usr local logsta...