RDIFramework.NET敏捷開發框架經過SignalR技術整合即時通信(IM)

一、引言

即時通信(IM)是RDIFramework.NET敏捷開發框架全新提供的一個基於Web的即時通信、內部聊天溝通的工具。界面美觀大方對於框架內部進行消息的溝通很是方便。基於RDIFramework.NET敏捷開發框架的即時通信IM支持常規的用戶對用戶(點對點)聊天、工做流程流轉的提醒、服務端消息的推送等。消息到達還有相似QQ的聲音提醒,同時對消息進行了持久化處理,即時離線的用戶,上線後也會收到消息,不會形成消息的丟失。還提供了不少擴展接口供用戶實際擴展使用,很是的強大,方便。服務器

經過「企業內部聊天IM」咱們能夠擴展不少應用出來。這兒特別說明的是咱們的IM使用的是SignalR技術。.NET SignalR 是爲.NET 開發人員提供的一個庫,能夠簡化開發人員將實時 Web 功能添加到應用程序的過程。實時 Web 功能是指這樣一種功能:當所鏈接的客戶端變得可用時服務器代碼能夠當即向其推送內容,而不是讓服務器等待客戶端請求新的數據。什麼是實時通訊的Web呢?就是讓客戶端(Web頁面)和服務器端能夠互相通知消息及調用方法,固然這是實時操做的。SignalR提供了很是簡單易用的高階API,使服務器端能夠單個或批量調用客戶端上的JavaScript函數,而且很是方便地進行鏈接管理,例如客戶端鏈接到服務器端,或斷開鏈接,客戶端分組,以及客戶端受權,使用SignalR都很是 容易實現。微信

二、SignalR技術核心

SignalR技術主要用途:它出現的主要目的是實現服務器主動推送(Push)消息到客戶端頁面,這樣客戶端就沒必要從新發送請求或使用輪詢技術來獲取消息。能夠用在聊天室、看板、單點通信、多點通信,甚至能夠結合其餘技術用來作視頻聊天,固然也有其餘用途。微信開發

SignalR實現機制:SignalR 的實現機制與 .NET WCF是類似的,都是使用遠程代理來實現。在具體使用上,有兩種不一樣目的的接口:PersistentConnection 和 Hubs,其中 PersistentConnection 是實現了長時間的 JavaScript 輪詢(相似於 Comet),Hub 是用來解決實時信息交換問題,它是利用 Javascript 動態載入執行方法實現的。SignalR 將整個鏈接,信息交換過程封裝得很是漂亮,客戶端與服務器端所有使用 JSON 來交換數據。框架

基本流程圖:分佈式

SignalR基本流程

三、功能展現

即時通信(IM)包含SignalR服務端,咱們內部聊天IM的服務端以下圖所示,要使用IM,必需要先啓動服務端。函數

服務端

登陸框架後在主界面右下解會顯示即時通信(IM)的圖標,不佔用用戶的界面空間。有新信息帶來時圖標會自動閃爍,同時會有聲音提醒很是的方便,相似QQ同樣。工具

IM主界面右下角圖標

單擊圖標會顯示企業內部聊天IM主界面,以下圖所示。在IM界面按部門對用戶進行了分組的展現。網站

IM主界面

在線用戶會高亮顯示,以下圖所示。.net

IM在線用戶

雙擊一個用戶,便可給指定用戶發送信息,聊天界面以下圖所示:3d

聊天窗口

在上圖中,咱們給「陳俊熙」發了一條消息,咱們如今以」wikstone」陳俊熙用戶登陸框架,登陸成功會自動提示消息,以下圖所示:

聊天窗口-收到信息

在彈出的聊天窗口,咱們也能夠給發送消息的用戶直接回復。

「企業內部聊天IM」不只能夠作爲簡單的聊天工具,同時在業務協同辦公過程當中也有很好的支持,如:當用戶收到一個待辦業務時,IM也會自動進行帶聲音的提示,以下圖所示。

工做流的提示

四、參考文章

4.一、SignalR開發相關

4.二、框架相關


一路走來數個年頭,感謝RDIFramework.NET框架的支持者與使用者,你們能夠經過下面的地址瞭解詳情。

RDIFramework.NET官方網站:http://www.rdiframework.net/

RDIFramework.NET官方博客:http://blog.rdiframework.net/

同時須要說明的,之後的全部技術文章以官方網站爲準,歡迎你們收藏!

RDIFramework.NET框架由海南國思軟件科技有限公司專業團隊長期打造、一直在更新、一直在升級,請放心使用!

歡迎關注RDIFramework.net框架官方公衆微信(微信號:guosisoft),及時瞭解最新動態。

掃描二維碼當即關注

微信號:guosisoft

相關文章
相關標籤/搜索