一、開(kāi)始的話(huà)
使用python簡(jiǎn)單的實(shí)現(xiàn)websocket服務(wù)器,可以在瀏覽器上實(shí)時(shí)顯示遠(yuǎn)程服務(wù)器的日志信息。
之前做了一個(gè)web版的發(fā)布系統(tǒng),但沒(méi)實(shí)現(xiàn)在線看日志,每次發(fā)布版本后,都需要登錄到服務(wù)器上查看日志,非常麻煩,為了偷懶,能在頁(yè)面點(diǎn)幾下按鈕完成工作,這幾天查找了這方面的資料,實(shí)現(xiàn)了這個(gè)功能,瞬間覺(jué)的看日志什么的,太方便了,以后也可以給開(kāi)發(fā)們查日志,再也不用麻煩運(yùn)維了,廢話(huà)少說(shuō),先看效果吧。
二、代碼
需求:在web上彈出iframe層來(lái)實(shí)時(shí)顯示遠(yuǎn)程服務(wù)器的日志,點(diǎn)擊stop按鈕,停止日志輸出,以便查看相關(guān)日志,點(diǎn)start按鈕,繼續(xù)輸出日志,點(diǎn)close按鈕,關(guān)閉iframe層。
在實(shí)現(xiàn)這功能前,google了一些資料,發(fā)現(xiàn)很多只能在web上顯示本地的日志,不能看遠(yuǎn)程服務(wù)器的日志,能看遠(yuǎn)程日志的是引用了其他框架(例如bottle,tornado)來(lái)實(shí)現(xiàn)的,而且所有這些都是要重寫(xiě)thread的run方法來(lái)實(shí)現(xiàn)的,由于本人技術(shù)太菜,不知道怎么改成自己需要的樣子,而且我是用django這個(gè)web框架的,不想引入其他框架,搞的太復(fù)雜,所以用python簡(jiǎn)單的實(shí)現(xiàn)websocket服務(wù)器。recv_data方法和send_data是直接引用別人的代碼。由于技術(shù)問(wèn)題,代碼有點(diǎn)粗糙,不過(guò)能實(shí)現(xiàn)功能就行,先將就著用吧。
延伸閱讀
- ssh框架 2016-09-30
- 阿里移動(dòng)安全 [無(wú)線安全]玩轉(zhuǎn)無(wú)線電——不安全的藍(lán)牙鎖 2017-07-26
- 消息隊(duì)列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標(biāo)分割】 2017-07-26
- 詞向量-LRWE模型-更好地識(shí)別反義詞同義詞 2017-07-26
- 從棧不平衡問(wèn)題 理解 calling convention 2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明 2017-07-26
- Swift實(shí)現(xiàn)JSON轉(zhuǎn)Model - HandyJSON使用講解 2017-07-26
- 阿里移動(dòng)安全 Android端惡意鎖屏勒索應(yīng)用分析 2017-07-26
- 集合結(jié)合數(shù)據(jù)結(jié)構(gòu)來(lái)看看(二) 2017-07-26