什麼是 WebSocket
WebSocket
的服務端和用戶端可以雙向進行通訊,並且允許跨網(wǎng)域通訊。由HTTP/1.1
的Upgrade
機制支持,透過ws
(非加密)或wss
(加密)協(xié)定進行通訊
WebSocket WebSocket( in DOMString url, in optional DOMString protocols ); WebSocket WebSocket( in DOMString url, in optional DOMString[] protocols );
HTML5 中的WebSocket
#HTML5
只專注於客戶端的<a href="http://m.miracleart.cn/js/js-weixinapp-api.html" target="_blank">API</a>
#, 而伺服器端是各個語言自己去實作
// 創(chuàng)建一個Socket實例 var socket = new WebSocket('ws://localhost:8080'); // 打開Socket socket.onopen = function(event){ // 發(fā)送一個初始化消息 socket.send('I am the client and I\'m listening!'); // 監(jiān)聽消息 socket.onmessage = function(event){ console.log('Client received a message',event); }; // 監(jiān)聽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
:
StringArray<a href="http://m.miracleart.cn/wiki/58.html" target="_blank">Buffer</a>
方法1 :如果客戶端不支援
WebSocket, 那麼可以使用幾個候選選項
Flash Socket
AJAX long-polling
AJAX multipart streaming
IFrame
JSON<a href="http://m.miracleart.cn/wiki/1488.html" target="_blank">P polling</a>
方法2使用
Socket.io 來抹平差異,該庫可以在瀏覽器不支援
WebSocket的時候, 自動用瀏覽器支援的消息推送方式進行連接, 該庫還會檢測連接是否掉線,並在斷線時自動為你重新連線。
// 創(chuàng)建Socket.IO實例,建立連接 var socket= new io.Socket('localhost',{ port: 8080, }); socket.connect(); // 添加一個連接監(jiān)聽器 socket.on('connect',function(){ console.log('Client has connected to the server!'); }); // 添加一個連接監(jiān)聽器 socket.on('message',function(data){ console.log('Received a message from the server!',data); }); // 添加一個關閉連接的監(jiān)聽器 socket.on('disconnect',function(){ console.log('The client has disconnected!'); }); // 通過Socket發(fā)送一條消息到服務器 function sendMessageToServer(message){ socket.send(message); }優(yōu)勢
- 即時雙向通訊
- #瀏覽器本地支援良好(相容性可以用第三方函式庫很好解決)
- 支援自訂協(xié)定
- 聊天室
- 伺服器訊息推送
- 前後端即時系統(tǒng)
- Websocket | MDN
- 認識HTML5的WebSocket
以上是什麼是 WebSocket?深入理解html5中WebSocket的詳細內(nèi)容。更多資訊請關注PHP中文網(wǎng)其他相關文章!

熱AI工具

Undress AI Tool
免費脫衣圖片

Undresser.AI Undress
人工智慧驅(qū)動的應用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發(fā)環(huán)境

Dreamweaver CS6
視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

H5不僅僅是HTML5的簡稱,它代表了一個更廣泛的現(xiàn)代網(wǎng)頁開發(fā)技術生態(tài):1.H5包括HTML5、CSS3、JavaScript及相關API和技術;2.它提供更豐富、互動、流暢的用戶體驗,能在多設備上無縫運行;3.使用H5技術??梢詣?chuàng)建響應式網(wǎng)頁和復雜交互功能。

H5與HTML5指的是同一個東西,即HTML5。 HTML5是HTML的第五個版本,帶來了語義化標籤、多媒體支持、畫布與圖形、離線存儲與本地存儲等新功能,提升了網(wǎng)頁的表現(xiàn)力和交互性。

HTML5是構建現(xiàn)代網(wǎng)頁的關鍵技術,提供了許多新元素和功能。 1.HTML5引入了語義化元素如、、等,增強了網(wǎng)頁結(jié)構和SEO。 2.支持多媒體元素和,無需插件即可嵌入媒體。 3.表單增強了新輸入類型和驗證屬性,簡化了驗證過程。 4.提供了離線和本地存儲功能,提升了網(wǎng)頁性能和用戶體驗。

HTML5是超文本標記語言的最新版本,由W3C標準化。 HTML5引入了新的語義化標籤、多媒體支持和表單增強,提升了網(wǎng)頁結(jié)構、用戶體驗和SEO效果。 HTML5引入了新的語義化標籤,如、、、等,使網(wǎng)頁結(jié)構更清晰,SEO效果更好。 HTML5支持多媒體元素和,無需第三方插件,提升了用戶體驗和加載速度。 HTML5增強了表單功能,引入了新的輸入類型如、等,提高了用戶體驗和表單驗證效率。

HTML5和H5沒有區(qū)別,H5是HTML5的簡稱。 1.HTML5是HTML的第五個版本,增強了網(wǎng)頁的多媒體和交互功能。 2.H5常用於指代基於HTML5的移動網(wǎng)頁或應用,適用於各種移動設備。

HTML5的核心特性包括語義化標籤、多媒體支持、離線存儲與本地存儲、表單增強。 1.語義化標籤如、等,提升代碼可讀性和SEO效果。 2.和標籤簡化多媒體嵌入。 3.離線存儲和本地存儲如ApplicationCache和LocalStorage,支持無網(wǎng)絡運行和數(shù)據(jù)存儲。 4.表單增強引入新輸入類型和驗證屬性,簡化處理和驗證。

H5和HTML5是不同的概念:HTML5是HTML的一個版本,包含新元素和API;H5是基於HTML5的移動應用開發(fā)框架。 HTML5通過瀏覽器解析和渲染代碼,H5應用則需要容器運行並通過JavaScript與原生代碼交互。

H5是HTML5,是HTML的第五個版本。 HTML5提升了網(wǎng)頁的表現(xiàn)力和交互性,引入了語義化標籤、多媒體支持、離線存儲和Canvas繪圖等新特性,推動了Web技術的發(fā)展。
