天天看點

使用 Netty 編寫一個多人聊天程式(下)- 用戶端實作和驗收

  • 使用Netty編寫一個多人聊天程式(下)-用戶端實作和驗收
    • 引言
    • 指令編碼
    • 響應解碼
    • 注冊和登入示例
    • 單聊消息示例
    • 群聊消息示例
    • 心跳消息示例
    • 思考與總結

引言

上篇文章中,詳細闡述了服務端核心功能的設計思路和實作邏輯。與服務端相比起來,用戶端的實作就比較簡單了。Netty 為開發者盡最大可能保證了程式設計模型的一緻性。服務端和用戶端的差別僅僅隻是在于

Channel

具體實作類和

BootStrap

引導類的差別。

用戶端的代碼托管于:https://gitee.com/eric_ds/learnNetty/tree/master/client

指令編碼

和服務端一樣,用戶端需要發送消息,首要考慮的問題也是對指令對象

Command

的二進制編碼問題。每個指令對象本身内部最清晰自身結構,是以這裡采用和服務端編碼

Receive

對象一樣的思路,在

Command

接口上增加

writeToBuf

方法,将編碼的部分職責下放到具體的

Command

對象中,是以,指令編碼的handle