HTML5 新特性之 Websocket
HTML5 為 Web 應用帶來了一種新的通訊方式,它不同於 Ajax 通訊方式在於 Websocket 是一種客戶端與伺服器端可以雙工通訊,這樣一來客戶端不僅可以拉取伺服器端的資料,而且伺服器端可以主動的向客戶的推送資料。這樣一來在 Web 應用中可以實現更多的資料互動方式,完成更佳好的資料體驗。
在 Websocket 出現之前,網站為了實現這種即時通訊,都是採用輪詢拉取服務端的資料,雖然這種方式可以完成類似於資料推送的通訊,但是在即時性和效能上都不如 Websocket 技術。
Websocket API
建立一個例項
建立一個 WebSocket 例項,即和 WebSocket 伺服器之間建立了連線:
var socket = new WebSocket('ws://domain:port');
send(msg)
它是用來給 WebSocket 伺服器傳送資料的方法:
var socket = new WebSocket('ws://domain:port'); socket.send("send message to server");
close()
它是用來關閉和 WebSocket 伺服器之間的連線:
var socket = new WebSocket('ws://domain:port'); socket.close();
onopen
它是用來監聽客戶端連結 WebSocket 伺服器成功的事件:
var socket = new WebSocket('ws://domain:port'); socket.onopen = function(evt){ };
onerror
它是用來監聽客戶端和 WebSocket 伺服器資料互動產生錯誤(連線失敗、傳送或者接收資料失敗、處理事件失敗等)的事件:
var socket = new WebSocket('ws://domain:port'); socket.onerror = function(evt){ };
onmessage
它是用來監聽客戶端和 WebSocket 伺服器之間傳送資料的事件,其中資料會包含在回撥函式的傳入引數evt
中:
var socket = new WebSocket('ws://domain:port'); socket.onmessage = function(evt){ };
onclose
它是用來監聽客戶端與 WebSocket 伺服器斷開連線的事件:
var socket = new WebSocket('ws://domain:port'); socket.onclose = function(evt){ };
總結
這種長連結的雙工的通訊方式讓 Web 應用在體驗上又更佳提升了一步,並且在效能上面有了一定的提升,它讓 Web 的資料更佳實時的展現出來,並且它讓 Web 應用擴充到即時通訊、遊戲、影片等行業,讓 Web 的應用性更佳的寬廣。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2480/viewspace-2822632/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- HTML5新特性HTML
- HTML5 新特性!HTML
- html5新特性總結HTML
- 前端系列-HTML5新特性前端HTML
- HTML5新特性概述(下)HTML
- HTML5的新特性概述(上)HTML
- 前端進階系列(三):HTML5新特性前端HTML
- 學習筆記~1.4 HTML5新特性筆記HTML
- 從html5的新特性定位安全問題HTML
- CSS3 和 HTML5 新特性一覽CSSS3HTML
- HTML5新增特性HTML
- Java 10 新特性之 AppCDSJavaAPP
- HTML5(十一)——WebSocket 基礎教程HTMLWeb
- Java 8 新特性之方法引用Java
- IOS11新特性之maskedCornersiOS
- iOS 8 之後UINavigationController新特性iOSUINavigationController
- ES6 新特性之SymbolSymbol
- JDK8新特性之stream()JDK
- MySQL 8 新特性之Clone PluginMySqlPlugin
- Java8新特性之:OptionalJava
- MySQL 8 新特性之Invisible IndexesMySqlIndex
- 從HTML5 WebSocket到Socket.ioHTMLWeb
- JDK8新特性之Stream流JDK
- JDK 1.8 新特性之Lambda表示式JDK
- ?Java8新特性之Optional類Java
- JDK 9新特性之Flow API 初探JDKAPI
- 開心檔之Java 9 新特性Java
- java8 新特性之方法引用Java
- java8 新特性之Optional 類Java
- HTML5(十二)——一文讀懂 WebSocket 原理HTMLWeb
- PHP新特性之閉包、匿名函式PHP函式
- 12c RMAN新特性之Recover Table
- es6新特性之 class 基本用法
- 23c 新特性之SQL_transpilerSQL
- PHP 7.4 新特性之箭頭函式PHP函式
- JDK1.8新特性之Lambda表示式JDK
- Java8新特性探索之Stream介面Java
- javascript ES6 新特性之 解構JavaScript