1、引言
即時通訊(IM)是RDIFramework.NET敏捷開發框架全新提供的一個基於Web的即時通訊、內部聊天溝通的工具。界面美觀大方對於框架內部進行消息的溝通非常方便。基於RDIFramework.NET敏捷開發框架的即時通訊IM支持常規的用戶對用戶(點對點)聊天、工作流程流轉的提醒、服務端消息的推送等。消息到達還有類似QQ的聲音提醒,同時對消息進行了持久化處理,即時離線的用戶,上線后也會收到消息,不會造成消息的丟失。還提供了很多擴展接口供用戶實際擴展使用,非常的強大,方便。
通過“企業內部聊天IM”我們可以擴展很多應用出來。這兒特別說明的是我們的IM使用的是SignalR技術。.NET SignalR 是為.NET 開發人員提供的一個庫,可以簡化開發人員將實時 Web 功能添加到應用程序的過程。實時 Web 功能是指這樣一種功能:當所連接的客戶端變得可用時服務器代碼可以立即向其推送內容,而不是讓服務器等待客戶端請求新的數據。什么是實時通信的Web呢?就是讓客戶端(Web頁面)和服務器端可以互相通知消息及調用方法,當然這是實時操作的。SignalR提供了非常簡單易用的高階API,使服務器端可以單個或批量調用客戶端上的JavaScript函數,並且非常方便地進行連接管理,例如客戶端連接到服務器端,或斷開連接,客戶端分組,以及客戶端授權,使用SignalR都非常 容易實現。
2、SignalR技術核心
SignalR技術主要用途:它出現的主要目的是實現服務器主動推送(Push)消息到客戶端頁面,這樣客戶端就不必重新發送請求或使用輪詢技術來獲取消息。可以用在聊天室、看板、單點通訊、多點通訊,甚至可以結合其他技術用來做視頻聊天,當然也有其他用途。
SignalR實現機制:SignalR 的實現機制與 .NET WCF是相似的,都是使用遠程代理來實現。在具體使用上,有兩種不同目的的接口:PersistentConnection 和 Hubs,其中 PersistentConnection 是實現了長時間的 JavaScript 輪詢(類似於 Comet),Hub 是用來解決實時信息交換問題,它是利用 Javascript 動態載入執行方法實現的。SignalR 將整個連接,信息交換過程封裝得非常漂亮,客戶端與服務器端全部使用 JSON 來交換數據。
基本流程圖:
3、功能展示
即時通訊(IM)包含SignalR服務端,我們內部聊天IM的服務端如下圖所示,要使用IM,必須要先啟動服務端。
登錄框架后在主界面右下解會顯示即時通訊(IM)的圖標,不占用用戶的界面空間。有新信息帶來時圖標會自動閃爍,同時會有聲音提醒非常的方便,類似QQ一樣。
單擊圖標會顯示企業內部聊天IM主界面,如下圖所示。在IM界面按部門對用戶進行了分組的展示。
在線用戶會高亮顯示,如下圖所示。
雙擊一個用戶,即可給指定用戶發送信息,聊天界面如下圖所示:
在上圖中,我們給“陳俊熙”發了一條消息,我們現在以”wikstone”陳俊熙用戶登錄框架,登錄成功會自動提示消息,如下圖所示:
在彈出的聊天窗口,我們也可以給發送消息的用戶直接回復。
“企業內部聊天IM”不僅可以做為簡單的聊天工具,同時在業務協同辦公過程中也有很好的支持,如:當用戶收到一個待辦業務時,IM也會自動進行帶聲音的提示,如下圖所示。
4、參考文章
4.1、SignalR開發相關
4.2、框架相關
一路走來數個年頭,感謝RDIFramework.NET框架的支持者與使用者,大家可以通過下面的地址了解詳情。
RDIFramework.NET官方網站:http://www.rdiframework.net/
RDIFramework.NET官方博客:http://blog.rdiframework.net/
同時需要說明的,以后的所有技術文章以官方網站為准,歡迎大家收藏!
RDIFramework.NET框架由海南國思軟件科技有限公司專業團隊長期打造、一直在更新、一直在升級,請放心使用!
歡迎關注RDIFramework.net框架官方公眾微信(微信號:guosisoft),及時了解最新動態。
掃描二維碼立即關注