RDIFramework.NET敏捷開(kāi)發(fā)框架通過(guò)SignalR技術(shù)整合即時(shí)通訊(IM)
1、引言
即時(shí)通訊(IM)是RDIFramework.NET敏捷開(kāi)發(fā)框架全新提供的一個(gè)基于Web的即時(shí)通訊、內(nèi)部聊天溝通的工具。界面美觀大方對(duì)于框架內(nèi)部進(jìn)行消息的溝通非常方便?;赗DIFramework.NET敏捷開(kāi)發(fā)框架的即時(shí)通訊IM支持常規(guī)的用戶對(duì)用戶(點(diǎn)對(duì)點(diǎn))聊天、工作流程流轉(zhuǎn)的提醒、服務(wù)端消息的推送等。消息到達(dá)還有類(lèi)似QQ的聲音提醒,同時(shí)對(duì)消息進(jìn)行了持久化處理,即時(shí)離線的用戶,上線后也會(huì)收到消息,不會(huì)造成消息的丟失。還提供了很多擴(kuò)展接口供用戶實(shí)際擴(kuò)展使用,非常的強(qiáng)大,方便。
通過(guò)“企業(yè)內(nèi)部聊天IM”我們可以擴(kuò)展很多應(yīng)用出來(lái)。這兒特別說(shuō)明的是我們的IM使用的是SignalR技術(shù)。.NET SignalR 是為.NET 開(kāi)發(fā)人員提供的一個(gè)庫(kù),可以簡(jiǎn)化開(kāi)發(fā)人員將實(shí)時(shí) Web 功能添加到應(yīng)用程序的過(guò)程。實(shí)時(shí) Web 功能是指這樣一種功能:當(dāng)所連接的客戶端變得可用時(shí)服務(wù)器代碼可以立即向其推送內(nèi)容,而不是讓服務(wù)器等待客戶端請(qǐng)求新的數(shù)據(jù)。什么是實(shí)時(shí)通信的Web呢?就是讓客戶端(Web頁(yè)面)和服務(wù)器端可以互相通知消息及調(diào)用方法,當(dāng)然這是實(shí)時(shí)操作的。SignalR提供了非常簡(jiǎn)單易用的高階API,使服務(wù)器端可以單個(gè)或批量調(diào)用客戶端上的JavaScript函數(shù),并且非常方便地進(jìn)行連接管理,例如客戶端連接到服務(wù)器端,或斷開(kāi)連接,客戶端分組,以及客戶端授權(quán),使用SignalR都非常 容易實(shí)現(xiàn)。
2、SignalR技術(shù)核心
SignalR技術(shù)主要用途:它出現(xiàn)的主要目的是實(shí)現(xiàn)服務(wù)器主動(dòng)推送(Push)消息到客戶端頁(yè)面,這樣客戶端就不必重新發(fā)送請(qǐng)求或使用輪詢技術(shù)來(lái)獲取消息。可以用在聊天室、看板、單點(diǎn)通訊、多點(diǎn)通訊,甚至可以結(jié)合其他技術(shù)用來(lái)做視頻聊天,當(dāng)然也有其他用途。
SignalR實(shí)現(xiàn)機(jī)制:SignalR 的實(shí)現(xiàn)機(jī)制與 .NET WCF是相似的,都是使用遠(yuǎn)程代理來(lái)實(shí)現(xiàn)。在具體使用上,有兩種不同目的的接口:PersistentConnection 和 Hubs,其中 PersistentConnection 是實(shí)現(xiàn)了長(zhǎng)時(shí)間的 JavaScript 輪詢(類(lèi)似于 Comet),Hub 是用來(lái)解決實(shí)時(shí)信息交換問(wèn)題,它是利用 Javascript 動(dòng)態(tài)載入執(zhí)行方法實(shí)現(xiàn)的。SignalR 將整個(gè)連接,信息交換過(guò)程封裝得非常漂亮,客戶端與服務(wù)器端全部使用 JSON 來(lái)交換數(shù)據(jù)。
基本流程圖:

3、功能展示
即時(shí)通訊(IM)包含SignalR服務(wù)端,我們內(nèi)部聊天IM的服務(wù)端如下圖所示,要使用IM,必須要先啟動(dòng)服務(wù)端。

登錄框架后在主界面右下解會(huì)顯示即時(shí)通訊(IM)的圖標(biāo),不占用用戶的界面空間。有新信息帶來(lái)時(shí)圖標(biāo)會(huì)自動(dòng)閃爍,同時(shí)會(huì)有聲音提醒非常的方便,類(lèi)似QQ一樣。

單擊圖標(biāo)會(huì)顯示企業(yè)內(nèi)部聊天IM主界面,如下圖所示。在IM界面按部門(mén)對(duì)用戶進(jìn)行了分組的展示。

在線用戶會(huì)高亮顯示,如下圖所示。

雙擊一個(gè)用戶,即可給指定用戶發(fā)送信息,聊天界面如下圖所示:

在上圖中,我們給“陳俊熙”發(fā)了一條消息,我們現(xiàn)在以”wikstone”陳俊熙用戶登錄框架,登錄成功會(huì)自動(dòng)提示消息,如下圖所示:

在彈出的聊天窗口,我們也可以給發(fā)送消息的用戶直接回復(fù)。
“企業(yè)內(nèi)部聊天IM”不僅可以做為簡(jiǎn)單的聊天工具,同時(shí)在業(yè)務(wù)協(xié)同辦公過(guò)程中也有很好的支持,如:當(dāng)用戶收到一個(gè)待辦業(yè)務(wù)時(shí),IM也會(huì)自動(dòng)進(jìn)行帶聲音的提示,如下圖所示。

4、參考文章
4.1、SignalR開(kāi)發(fā)相關(guān)
-
史上最全面的SignalR系列教程-2、SignalR 實(shí)現(xiàn)推送功能-永久連接類(lèi)實(shí)現(xiàn)方式
-
史上最全面的SignalR系列教程-3、SignalR 實(shí)現(xiàn)推送功能-集線器類(lèi)實(shí)現(xiàn)方式
-
史上最全面的SignalR系列教程-4、SignalR 自托管全解(使用Self-Host)-附各終端詳細(xì)實(shí)例
-
RDIFramework.NET敏捷開(kāi)發(fā)框架通過(guò)SignalR技術(shù)整合即時(shí)通訊(IM)
4.2、框架相關(guān)
-
RDIFramework.NET框架基于Quartz.Net實(shí)現(xiàn)任務(wù)調(diào)度詳解及效果展示
-
RDIFramework.NET ━ .NET快速信息化系統(tǒng)開(kāi)發(fā)框架 ━ 工作流程組件介紹
-
RDIFramework.NET框架SOA解決方案(集Windows服務(wù)、WinForm形式與IIS形式發(fā)布)-分布式應(yīng)用
一路走來(lái)數(shù)個(gè)年頭,感謝RDIFramework.NET框架的支持者與使用者,大家可以通過(guò)下面的地址了解詳情。
RDIFramework.NET官方網(wǎng)站:http://www.rdiframework.net/
RDIFramework.NET官方博客:http://blog.rdiframework.net/
同時(shí)需要說(shuō)明的,以后的所有技術(shù)文章以官方網(wǎng)站為準(zhǔn),歡迎大家收藏!
RDIFramework.NET框架由海南國(guó)思軟件科技有限公司專(zhuān)業(yè)團(tuán)隊(duì)長(zhǎng)期打造、一直在更新、一直在升級(jí),請(qǐng)放心使用!
歡迎關(guān)注RDIFramework.net框架官方公眾微信(微信號(hào):guosisoft),及時(shí)了解最新動(dòng)態(tài)。
掃描二維碼立即關(guān)注

作者:
RDIF
出處:
http://www.rzrgm.cn/huyong/
Email:
406590790@qq.com
QQ:
406590790
微信:
13005007127(同手機(jī)號(hào))
框架官網(wǎng):
http://www.guosisoft.com/
http://www.rdiframework.net/
框架其他博客:
http://blog.csdn.net/chinahuyong
http://www.rzrgm.cn/huyong
國(guó)思RDIF開(kāi)發(fā)框架
,
給用戶和開(kāi)發(fā)者最佳的.Net框架平臺(tái)方案,為企業(yè)快速構(gòu)建跨平臺(tái)、企業(yè)級(jí)的應(yīng)用提供強(qiáng)大支持。
關(guān)于作者:系統(tǒng)架構(gòu)師、信息系統(tǒng)項(xiàng)目管理師、DBA。專(zhuān)注于微軟平臺(tái)項(xiàng)目架構(gòu)、管理和企業(yè)解決方案,多年項(xiàng)目開(kāi)發(fā)與管理經(jīng)驗(yàn),曾多次組織并開(kāi)發(fā)多個(gè)大型項(xiàng)目,在面向?qū)ο蟆⒚嫦蚍?wù)以及數(shù)據(jù)庫(kù)領(lǐng)域有一定的造詣。現(xiàn)主要從事基于
RDIF
框架的技術(shù)開(kāi)發(fā)、咨詢工作,主要服務(wù)于金融、醫(yī)療衛(wèi)生、鐵路、電信、物流、物聯(lián)網(wǎng)、制造、零售等行業(yè)。
如有問(wèn)題或建議,請(qǐng)多多賜教!
本文版權(quán)歸作者和CNBLOGS博客共有,歡迎轉(zhuǎn)載,但未經(jīng)作者同意必須保留此段聲明,且在文章頁(yè)面明顯位置給出原文連接,如有問(wèn)題,可以通過(guò)微信、郵箱、QQ等聯(lián)系我,非常感謝。

浙公網(wǎng)安備 33010602011771號(hào)