什么是 WebSocket
WebSocket
的服務(wù)端和客戶端可以雙向進行通訊,并且允許跨域通訊。由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>
, 而服務(wù)器端是各個語言自己去實現(xiàn)
// 創(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的關(guān)閉 socket.onclose = function(event){ console.log('Client notified socket has closed',event); }; // 關(guān)閉Socket.... //socket.close() };
事件onclose
onerror
onmessage
onopen
readyState
:CONNECTING 0
OPEN 1
CLOSING 2
CLOSED 3
binaryType
:String
Blob
<a href="http://m.miracleart.cn/wiki/58.html" target="_blank">Array</a>Buffer
兼容性
方法1:
如果客戶端不支持WebSocket
, 那么可以使用幾個候選選項 Flash Socket
AJAX long-polling
AJAX multipart streaming
IFrame
<a href="http://m.miracleart.cn/wiki/1488.html" target="_blank">JSON</a>P polling
方法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); }); // 添加一個關(guān)閉連接的監(jiān)聽器 socket.on('disconnect',function(){ console.log('The client has disconnected!'); }); // 通過Socket發(fā)送一條消息到服務(wù)器 function sendMessageToServer(message){ socket.send(message); }
優(yōu)勢
實時雙向通信
瀏覽器本地支持良好(兼容性可以用第三方庫很好解決)
支持自定義協(xié)議
實際應用
聊天室
服務(wù)器消息推送
前后端實時系統(tǒng)
參考
Websocket | MDN
認識HTML5的WebSocket
【相關(guān)推薦】
1.?免費h5在線視頻教程
以上是什么是 WebSocket?深入理解html5中WebSocket的詳細內(nèi)容。更多信息請關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

熱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ā)技術(shù)生態(tài):1.H5包括HTML5、CSS3、JavaScript及相關(guān)API和技術(shù);2.它提供更豐富、互動、流暢的用戶體驗,能在多設(shè)備上無縫運行;3.使用H5技術(shù)??梢詣?chuàng)建響應式網(wǎng)頁和復雜交互功能。

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

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

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

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

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

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

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