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),及时了解最新动态。

扫描二维码立即关注

最新文章

  1. 请问MVC4是不是类似于html页+ashx页之间用JSON通过AJAX交换数据这种方式、?
  2. javascript温故知新
  3. Octopus系列之各个页面调用示例2
  4. jquery给input域赋值和取值
  5. SDK Build Tools revision (19.0.3) is too low for project Min
  6. 【HTML5】Application Cache应用程序缓存
  7. GCC编译器
  8. 如何在github上展示作品——为你的项目生成一个快速访问的网址如(DaisyWang88.github.io)
  9. Java [Leetcode 83]Remove Duplicates from Sorted List
  10. GIS中相交的定义(OGC相交的定义)
  11. Redis缓存 ava-Jedis操作Redis,基本操作以及 实现对象保存
  12. tomcat https 配置
  13. Nginx学习之十四-GDB调试Nginx初试
  14. --@angularJS--自定义服务与后台数据交互小实例
  15. C#基础:.NET环境下WebConfig的加密
  16. NOIP 2001 提高组 题解
  17. spring-security实现的token授权
  18. (5)Microsoft office Word 2013版本操作入门_标尺
  19. 云服务器上mysql的配置
  20. 【Mybatis】多对多实例

热门文章

  1. 【题解】搬书-C++
  2. pycharm install python packaging tools时遇到AttributeError: '_NamespacePath' object has no attribute 'sort'错误
  3. 手机web app开发笔记
  4. Ubuntu系统安装QQ等软件
  5. Android/AndroidStudio/idea使用教程之git使用(详细)(码云)
  6. [leetcode]914. X of a Kind in a Deck of Cards (easy)
  7. Flink 从0到1学习—— Flink 不可以连续 Split(分流)?
  8. Linux系统安装jdk——.tar.gz版(old)
  9. 织梦(dede)底层模板概念、常用底层模板字段
  10. 2019牛客暑期多校训练营(第四场)J-free