前言

websocket 作為 HTML5 里一個(gè)新的特性一直很受人關(guān)注,因?yàn)樗娴姆浅??,打破?http “請(qǐng)求-響應(yīng)”的常規(guī)思維,實(shí)現(xiàn)了服務(wù)器向客戶端主動(dòng)推送消息,本文介紹如何使用 PHP 和 JS 應(yīng)用 websocket 實(shí)現(xiàn)一個(gè)網(wǎng)頁(yè)實(shí)時(shí)聊天室;

以前寫過(guò)一篇文章講述如何使用ajax長(zhǎng)輪詢實(shí)現(xiàn)網(wǎng)頁(yè)實(shí)時(shí)聊天,見鏈接: 網(wǎng)頁(yè)實(shí)時(shí)聊天之js和jQuery實(shí)現(xiàn)ajax長(zhǎng)輪詢 ,但是輪詢和服務(wù)器的 pending 都是無(wú)謂的消耗,websocket 才是新的趨勢(shì)。

最近艱難地“擠”出了一點(diǎn)時(shí)間,完善了很早之前做的 websocket “請(qǐng)求-原樣返回”服務(wù)器,用js完善了下客戶端功能,把過(guò)程和思路分享給大家,順便也普及一下 websocket 相關(guān)的知識(shí),當(dāng)然現(xiàn)在討論 websocket 的文章也特別多,有些理論性的東西我也就略過(guò)了,給出參考文章供大家選擇閱讀。

正文開始前,先貼一張聊天室的效果圖(請(qǐng)不要在意CSS渣的頁(yè)面):

Android培訓(xùn),安卓培訓(xùn),手機(jī)開發(fā)培訓(xùn),移動(dòng)開發(fā)培訓(xùn),云培訓(xùn)培訓(xùn)

然后當(dāng)然是源碼: 我是源碼鏈接 - github - 枕邊書


websocket

簡(jiǎn)介

WebSocket 不是一門技術(shù),而是一種全新的協(xié)議。它應(yīng)用 TCP 的 Socket(套接字),為網(wǎng)絡(luò)應(yīng)用定義了一個(gè)新的重要的能力:客戶端和服務(wù)器端的雙全工傳輸和雙向通信。是繼 Java applets、 XMLHttpRequest、 Adobe Flash,、ActiveXObject、 各類 Comet 技術(shù)之后,服務(wù)器推送客戶端消息的新趨勢(shì)。

網(wǎng)友評(píng)論