2014-07-05 49 views
2

即使在支持websocket的瀏覽器中,SockJS是否也會模擬websockets?即使在支持websockets的瀏覽器上,SockJS是否也會模擬websockets?

我試圖使用websocket和RabbitMQ在網絡上發送和接收消息。 RabbitMQ提供了一個rabbitmq-web-stomp插件,它使用Sockjs橋接websocket和RabbitMQ STOMP插件。

但SockJS說這是一個websocket模擬器。所以我想問問它是否會在支持websocket的瀏覽器上模擬websocket。

回答

5

the SockJS javascript library(重點煤礦):

SockJS是一個瀏覽器JavaScript庫,提供了一個的WebSocket狀物體。 SockJS爲您提供了一個連貫的,跨瀏覽器的JavaScript API,它在瀏覽器和Web服務器之間創建了一個低延遲,全雙工,跨域的通信通道。

引擎蓋下SockJS嘗試首先使用本機WebSocket。如果失敗了,它可以使用各種瀏覽器特定的傳輸協議,並通過WebSocket類似的抽象方法呈現它們。

SockJS公開了一個類似於websocket的API,以使您的JavaScript應用程序認爲即使您沒有,也總是有一個Web套接字。記住只有一種傳輸方式來編寫應用程序比較容易,並讓其他人在缺失的情況下模擬它。你的應用程序代碼更簡單。

SockJS將處理回退。它會嘗試使用第一種支持的通信方式。

[ 
'websocket', 
'xdr-streaming', 
'xhr-streaming', 
'iframe-eventsource', 
'iframe-htmlfile', 
'xdr-polling', 
'xhr-polling', 
'iframe-xhr-polling', 
'jsonp-polling' 
] 

注意web套接字是第一個。如果您的瀏覽器支持網絡套接字,SockJS將使用它。

+0

明白了。謝謝 – Rainman1985

相關問題