您好,登錄后才能下訂單哦!
小編給大家分享一下html5中WebSocket有什么用,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
WebSocket
的服務端和客戶端可以雙向進行通訊,并且允許跨域通訊。由HTTP/1.1
的Upgrade
機制支持,通過ws
(非加密)或wss
(加密)協議進行通訊
WebSocket WebSocket( in DOMString url, in optional DOMString protocols ); WebSocket WebSocket( in DOMString url, in optional DOMString[] protocols );
HTML5
只專注于客戶端的API
, 而服務器端是各個語言自己去實現
// 創建一個Socket實例 var socket = new WebSocket('ws://localhost:8080'); // 打開Socket socket.onopen = function(event){ // 發送一個初始化消息 socket.send('I am the client and I\'m listening!'); // 監聽消息 socket.onmessage = function(event){ console.log('Client received a message',event); }; // 監聽Socket的關閉 socket.onclose = function(event){ console.log('Client notified socket has closed',event); }; // 關閉Socket.... //socket.close() };
事件onclose
onerror
onmessage
onopen
屬性
readyState
: CONNECTING 0
OPEN 1
CLOSING 2
CLOSED 3
binaryType
: String
Blob
ArrayBuffer
方法1:
如果客戶端不支持WebSocket
, 那么可以使用幾個候選選項 Flash Socket
AJAX long-polling
AJAX multipart streaming
IFrame
JSONP polling
方法2
使用Socket.io
來抹平差異,該庫可以在瀏覽器不支持WebSocket
的時候, 自動用瀏覽器支持的消息推送方式進行連接, 該庫還會檢測連接是否掉線,并在掉線時自動為你重新連接。
// 創建Socket.IO實例,建立連接 var socket= new io.Socket('localhost',{ port: 8080, }); socket.connect(); // 添加一個連接監聽器 socket.on('connect',function(){ console.log('Client has connected to the server!'); }); // 添加一個連接監聽器 socket.on('message',function(data){ console.log('Received a message from the server!',data); }); // 添加一個關閉連接的監聽器 socket.on('disconnect',function(){ console.log('The client has disconnected!'); }); // 通過Socket發送一條消息到服務器 function sendMessageToServer(message){ socket.send(message); }
實時雙向通信
瀏覽器本地支持良好(兼容性可以用第三方庫很好解決)
支持自定義協議
聊天室
服務器消息推送
前后端實時系統
以上是“html5中WebSocket有什么用”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。