InChatter系統之客戶端實現原理與階段小結

2022-02-26 09:16:27 字數 1261 閱讀 5438

inchatter客戶端的開發可以說是目前系統的階段性結尾了。很抱歉的是,這篇文章來的這麼晚,遲到了這麼久。

在客戶端的開發主要針對兩個方面:

訊息的傳輸與處理

訊息的ui

互動處理

訊息的傳輸示意圖如下:

所有的訊息的接受將首先通過事件傳送到訊息池,訊息池接受訊息做進一步處理。如果訊息是傳送給當前互動物件(系統訊息或正在聊天的目標),訊息將直接**給互動窗體進行顯示;否則,將彈出訊息提示窗體,告知使用者訊息的到達。在此基礎上,對於未讀訊息和離線訊息也進行了對應的處理,這也是在上一節之後,系統的諸多變更之初,具體可參見原始碼部分。

理解了訊息互動的整個流程,我們便可以更好的把握客戶端部分的基礎思路,因為目前的互動設計只是很簡單和單調的一種,同樣也由於本人水平有限,目前未想到更好的架構和思路,能夠幫助使用者輕鬆解決客戶端的ui

互動部分的問題。

(1)訊息控制項的介面顯示部分

(2)訊息互動主窗體包括系統訊息和即時通訊訊息

(3)訊息池部分。所有的訊息的接受將首先通過事件傳送到訊息池,訊息池接受訊息做進一步處理。(訊息池體現在訊息提醒部分)

這裡提供的只是一種方式,更多的表現形式還是看使用者自己的系統要求和

ui互動規範,所以客戶端更多的是需要使用者自己重新定製開發,我也會盡力在未來解決這個問題,哪怕提供更多的互動方式,目前僅支援wpf客戶端,winform客戶端敬請期待

這是我的第乙個開源專案,從去年接觸到開源社群就一直心神嚮往,只是一直未找到合適的方向。最近由於工作需要,涉及到這樣的乙個專案,就拿出來跟大家分享下。

針對與inchatter

的客戶端開發可以算是乙個小的終結,是基礎版本的終結,但卻也是新的開始。在以後的開發將針對使用中的體驗以及

bugbug

和未來的功能進行討論並提出寶貴意見。最大的希望能夠在專案開發中能夠幫到朋友們。

最後是分享下我的格言:開源、創新、博學、奉獻。

期待在路上遇見你,一起為開源社群貢獻我們的力量。

瘦客戶端 胖客戶端 智慧型客戶端

胖客戶端模式將應用程式處理分成了兩部分 由使用者的桌面計算機執行的處理和最適合乙個集中的伺服器執行的處理。乙個典型的胖客戶端包含乙個或多個在使用者的pc上執行的應用程式,使用者可以檢視並運算元據 處理一些或所有的業務規則 同時提供乙個豐富的使用者介面做出響應。伺服器負責管理對資料的訪問並負責執行一些...

胖客戶端 瘦客戶端和富客戶端

以c s結構開發的網路應用程式,需要為客戶端開發專用的客戶端軟體,相對而言其客戶端比較龐大,在客戶端可以實現很多功能,分擔伺服器的負擔,屬於胖客戶端型別。以b s結構開發的web應用,其客戶端只是乙個瀏覽器,所有業務邏輯由伺服器端進行處理,相對而言客戶端比較瘦小,故稱為瘦客戶端。目前比較流行的一種開...

非同步客戶端和同步客戶端

先寫下我的理解,方便後邊閱讀資料校驗。一 同步客戶端 比如乙個連線有兩個請求,請求1 和 請求2,請求1 先發起請求,請求2後發起請求,則請求2 要等待請求1 響應完成才能接收到響應。舉個棗子,httpclient 傳送get請求,執行緒會一致阻塞,直到有響應結果。二 非同步客戶端 比如乙個連線有兩...