websocket入門示例

2022-06-05 12:27:06 字數 1321 閱讀 8132

websocket 使得客戶端和伺服器之間的資料交換變得更加簡單,允許服務端主動向客戶端推送資料,可以取代以前的ajax輪詢,節約頻寬和伺服器資源,更好地進行實時通訊。

1.客戶端使用方法

1

//建立乙個websocket連線

2 let ws = new

websocket(config.websocketurl)3//

事件監聽4//

onopen - 建立連線時觸發5//

onmessage - 接收到資料時觸發6//

onerror - 錯誤時觸發7//

onclose - 關閉時觸發

8 ws.onopen = function

(e)

11 ws.onmessage = function

(e)

16//

傳送資料

17 let value =

21ws.send(json.stringify(value))

2223

//關閉

24 ws.close()

2.node.js搭建websocket服務端

需要先安裝nodejs-websocket。

1

var ws = require('nodejs-websocket');

23 console.info('start connect...')45

var server = ws.createserver(function

(conn))

1011 conn.on('close', function

(code, reason))

1415 conn.on('error', function

(code, reason))

1819 }).listen(8002)

2021 console.info('connect ok')

2223

//廣播訊息-即給所有連線傳送訊息,實際使用中可以根據傳送的id區分

24function

broadcast(data))

28 }

3.基於websockt的簡易即時聊天案例

使用node.js搭建了websockt服務,監聽來自於客戶端的訊息並傳送給所有建立連線的客戶端(相當於訊息**中心),

前端使用vue完成,把訊息發到伺服器,同時監聽來自伺服器的訊息並進行相應的展示,後續會把案例放到github。

websocket快速入門

傳統的http請求需要實現資料一直變化,需要採用輪詢的做法,比較浪費客戶端效能,看到有些公司招聘要求有熟悉websocket 我就粗略的搞了一下,主要是網上借鑑,websocket的實現,只需要一次連線,保持連線即可,輪詢的做法是傳送一次就斷掉,網絡卡的時候伺服器都可能給搞崩掉,websocket可...

websocket簡單入門

今天說起及時通訊的時候,突然被問到時用推的方式,還是定時接受的方式,由於之前頁面都是用傳統的ajax處理,可能對ajax的定時獲取根深蒂固了,所以一時之間沒有相同怎麼會出現推的方式呢?當被提及websocket的時候突然頭腦中搭上了這根線。一 websocket是html5出的東西 協議 也就是說h...

php使用websocket示例詳解

url 下面我畫了乙個圖演示 client 和 server 之間建立 websocket 連線時握手部分,這個部分在 node 中可以十分輕鬆的完成,因為 node 提供的 net 模組已經對 socket 套接字做了封裝處理,開發者使用的時候只需要考慮資料的互動而不用處理連線的建立。而 php ...