用户与群组通信
一、前言
在上一章節我們實現了好友與好友的通信流程,可以簡單回憶下我們是從對話框中選擇好友進行發送信息。那么我們的對話框中還有一個默認的群組,接下來我們主要實現用戶群組的通信。群組通信在 Netty 的實現中,是需要將用戶的通信管道 Channel 放到 ChannelGroup 中進行群發消息,這樣只要在這個通信管道組里的用戶都可以收到消息。接下來我們實現具體的邏輯功能。
- 我們的群組目前是一個默認群組,默認會在數據庫中把用戶初始化到這個群組中,學習的小伙伴也也可以拿到源代碼后擴展功能為創建群組加好友
二、流程設計
- 從流程圖上可以看到,與好友通信和群組通信的過程還是比較像的,但是在服務端還是有一個比較大的差異,就是群組通信需要使用到;ChannelGroup。在后續的代碼中會有所體現。
- 另外群組通信每一個用戶發送消息,是需要把自己的;id、昵稱、頭像一并發送,當然這些固定的信息可以保存到客戶端本地,一節省通信時間損耗。
- 當然這里同樣需要將群組的消息進行異步落庫,保存群組的聊天記錄。聊天記錄這些信息在我們設計開發用戶登錄后,都會進行從數據庫初始化展示到聊天面板中。
三、工程代碼
根據我們的工程圖稿,會涉及到代碼塊如下;
總結
- 上一篇: 一个画钟程序,终于做完了,作个记号
- 下一篇: 河道、地下水位监测方案