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

項目需求

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

項目架構

圖片描述

功能實現思路

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

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

效果展現

圖片描述
圖片描述

GitHub地址

項目名:InChatgit

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

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


若是本文對你有所幫助,歡迎關注我的技術公衆號服務器

圖片描述

相關文章
相關標籤/搜索