基于EasyTcp4Net開發一個功能較為完善的去持久化聊天軟件
當前位置:點晴教程→知識管理交流
→『 技術文檔交流 』
示例發消息給自己收到消息發送圖片消息發送中重連中發送失敗數據包結構以及拆包定義數據包結構數據包結構定義了每次發送一個數據的完整的數據結構,我們將包體長度定義在包頭中來解決粘包和斷包的問題。 數據包我們采用了簡單的序列化成byte數組的方式來發送。
我們在服務端和客戶端根據我們定義的數據結構,來調用EasyTcp4Net提供的固定包頭來解析數據包 _easyTcpClient.SetReceiveFilter(new FixedHeaderPackageFilter(8, 0, 4, false)); 文本/圖片發送 我們可以定義消息基類,再拓展兩個消息類,一個文本消息,一個圖片消息
圖片消息
文本消息
我們還需要在界面中增加相關的文本和圖片的ViewModel 發送消息的時候,發送者可以立刻將消息添加到聊天界面,然后等待收到自己發送的消息從服務端發來的時候,根據狀態判斷消息是否發送成功,等待的時候可以將消息設置發送中的界面狀態顯示,這種發送消息邏輯和微信基本一致。 斷線處理 利用EasyTcp4Net提供的斷線的事件,可以非常方便的在服務端知道客戶端突然斷開了,或者在客戶端知道和服務端連接斷開了。 客戶端
主要是觸發了重連的機制。 服務端
主要是將該用戶從在線列表中移除。 總結總體來說做一個聊天軟件需要考慮的細節比較多。 轉自https://www.cnblogs.com/qwqwQAQ/p/18330325 該文章在 2024/8/5 10:21:10 編輯過 |
關鍵字查詢
相關文章
正在查詢... |