基於Netty的頁面聊天室開發思路

項目需求

  • 單頁面,進入即登錄,系統隨機分配連接用戶名
  • 存儲聊天信息消息
  • 聊天羣發功能

項目架構

圖片描述

功能實現思路

對於Netty的集成是相對簡易,配置對應的Handler,在SpringBoot啓動的時候,注入並啓動對應的Netty監聽。

  • 對於前端頁面而言,是單頁面,進入後它會自動與寫死的WebSocket連接通信,Netty會自動監聽新連接的接入,當新連接建立,我們通過工具類隨機生成一個名稱,並以鍵值對進行存儲。
  • 而對於消息的監聽,則直接進行了子連接與其他連接的處理,在獲取到消息的時候,服務器再向所有的客戶端頁面重新羣發,且在羣發的時候進行判斷,如果是原本發送的連接則一個格式,其他接受的則另一個格式,這裏方便前端進行樣式處理。
  • 同時在進行消息監聽的時候,所有接受到的消息,服務器都會做本地臨時存儲處理,以鍵值對的形式存儲用戶的聊天消息。
  • 在連接斷開、用戶離線後,調用異步方法,將臨時存儲庫中的聊天消息存儲到數據庫中

效果展示

圖片描述
圖片描述

GitHub地址

項目名:InChat

項目地址:https://github.com/UncleCatMy...

項目介紹:基於Netty4與SpringBoot,聊天室WebSocket(文字圖片)加API調用Netty長鏈接執行發送消息(在線數、用戶列表)、Iot物聯網-MQTT協議、TCP/IP協議單片機通信,異步存儲聊天數據


如果本文對你有所幫助,歡迎關注個人技術公衆號

圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章