SpringMVC使用SSE向瀏覽器推送資料

2021-10-05 21:22:18 字數 1260 閱讀 4058

一、sse 的本質

http 協議無法做到伺服器主動推送資訊。但是,有一種變通方法,就是伺服器向客戶端宣告,接下來要傳送的是流資訊(streaming)。

sse 就是利用這種機制,使用流資訊向瀏覽器推送資訊。它基於 http 協議,目前除了 ie/edge,其他瀏覽器都支援。

三、整合

springmvc內建sseemitter類內建了一些方法,方便我們使用sse(server sent event)向瀏覽器推送資料。

1.sse機制不同於傳統的「請求-響應」模型,在前端必須使用eventsource物件請求我們的介面,建立乙個連線,

var source = new eventsource('url');
withcredentials:表示是否一起傳送 cookie。

var source = new eventsource(url, );
2.然後監聽服務端傳送過來的事件。

下圖中監聽的為服務端通過我們上面建立的連線傳送過來的message(預設)事件,服務端也可以自定義傳送的事件。

source.addeventlistener('message', function (e) );
除了我們上面所說的事件,還有open和error事件

source.addeventlistener('open', function (e) , false);

source.addeventlistener('error', function (e) else

}, false);

3.服務端需要建立乙個sseemitter物件,然後使用改物件傳送資料

}建立物件的時候可以自定義重新建立連線的時間。

class threaddemo2 implements runnable 

@override

public void run() catch (ioexception | interruptedexception e) }}

}

SSE指令的使用學習

1.什麼是指令集?指令集是為了增強cpu在某些方面 如多 的功能而特意開發出的一組程式 集合。2.常見的指令集有哪些呢?1 mmx multi media extensions,做 擴充套件 指令集 intel1996年推出的一項多 指令增強技術。共包含57條多 指令,這些指令一次可以處理多個資料。...

影響SSE指令使用的因素 cpu特徵

採用cpuid cpuid cpuidex函式可獲取cpu特徵,但這三個函式的使用函式有一定的限制與要求 a.32位作業系統 在32位作業系統下,可以直接採用內嵌會變調用cpuid函式獲取cpu特徵,方法如下 用於儲存cpu四個暫存器值 unsigned long eax,ebx,ecx,edx v...

SpringMVC使用入門

本來打算過段時間再來總結一下springmvc的用法,然而感覺不總結一下,可能很快自己就會把學到的知識點給忘了。經過上面的流程圖,我們大致就可以梳理出springmvc的使用步驟。按照流程進行配置就不會錯,大致需要有dispatcherservlet 處理器 處理器對映器 處理器介面卡 視 析器。剩...