websocket實現實時聊天

2022-07-22 11:36:16 字數 1359 閱讀 2345

一、websocket

1、什麼是websoket?

2、websocket事件

open

socket.onopen

連線建立時觸發

message

socket.onmessage

客戶端接收服務端資料時觸發

error

socket.onerror

通訊發生錯誤時觸發

close

socket.onclose

連線關閉時觸發

3、websocket方法

socket.send()

使用連線傳送資料

socket.close()

關閉連線

二、實現思路

1、首先將好友列表和聊天框兩個元件用keep-alive包裹起來,保證當使用者點選好友跳轉到聊天框時websoket服務不會被斷開。

2、當好友列表頁面載入時會伺服器傳送乙個請求,用來與伺服器連線websocket服務。

3、當websocket服務建立成功後,就可以使用onmessage事件,用來獲取所需要的資訊,資料會通過event.data返回,當我們拿到這個資料時就可以進行渲染好友列表了。**如下:

4 、點選切換到聊天框時,必須保證websocket服務不能斷開連線。並且獲取聊天記錄需要想後端傳送乙個websocket請求。因為必須保證在傳送訊息時連線的websocket服務和此時建立的websocket是同乙個,哪怕在你傳送訊息時重新建立websocket服務,位址什麼都一樣,也不行,所以在這裡建立websocket服務是我用了乙個全域性變數(暫時還沒想到什麼好辦法,如果大家有好方法歡迎分享),這樣就可以獲取到資料了,然後我們可以通過處理資料來得到自己想要顯示在頁面上的資料。**如下:

5、傳送資訊時只要通過send方法將輸入框內容傳送給後端就可以了。**如下:

6、傳送完訊息後讓滾動條始終保持在頁面的最底部

第一次接觸,可能方法不好。歡迎交流~~~~

websocket簡單實現聊天

1.多人聊天 from geventwebsocket.handler import websockethandler 請求處理wsgi http from geventwebsocket.server import wsgiserver 替換flask原來的wsgi服務 from geventwe...

WebSocket 和 Golang 實現聊天功能

這個示例應用程式展示了如何使用 websocket,golang 和 jquery 建立乙個簡單的web聊天應用程式。這個示例的源 在 這個示例需要 golang 開發環境。該頁面描述如何安裝開發環境。go get gary.burd.info go websocket chat go websoc...

websocket實現簡單聊天程式

先載入所需要的通訊模組 建立使用者列表和訊息列表 var person var history 繫結並監聽80埠 客戶端連線成功後,觸發響應事件connection,完成要繫結的事件並實現客戶端出發的事件 io.sockets.on connection function socket obj.co...