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

ASP.NET SignalR 是 ASP.NET 开发人员的库,可简化将实时 web 功能添加到应用程序的过程。 实时 web 功能使服务器代码能够在可用时立即将内容推送到连接的客户端,而不是让服务器等待客户端请求新的数据。

SignalR 可用于将任何种类的 “实时” web 功能添加到 ASP.NET 应用程序。 尽管聊天通常用作示例,但你可以执行更多操作。 用户每次刷新网页以查看新数据,或者页面实现 长轮询 来检索新数据时,都是使用 SignalR 的候选项。 示例包括仪表板和监视应用程序、协作应用程序 (例如同步编辑文档) 、作业进度更新和实时窗体。

SignalR 还启用了全新类型的 web 应用程序,这些应用程序需要服务器中的高频率更新,例如,实时游戏。

SignalR 提供了一个简单的 API,用于创建 (RPC) 的服务器到客户端远程过程调用,该程序调用客户端浏览器中的 JavaScript 函数 (和从服务器端 .NET 代码) 的其他客户端平台。 SignalR 还包括用于连接管理的 API (例如,连接和断开连接事件) ,以及对连接进行分组。

SignalR 自动处理连接管理,让你可同时向所有连接的客户端广播消息,就像聊天室一样。 也可以向特定客户端发送消息。 客户端和服务器之间的连接是持久的,不同于传统的 HTTP 连接,后者针对每次通信重新建立。

SignalR 支持 “服务器推送” 功能,在该功能中,服务器代码可以使用远程过程调用来调用浏览器中的客户端代码 (RPC) ,而不是目前在 web 上通用的请求-响应模式。

使用内置和第三方横向扩展提供程序,SignalR 应用程序可以向外扩展到数千个客户端。

3、SignalR技术核心

SignalR技术主要用途:它出现的主要目的是实现服务器主动推送(Push)消息到客户端页面,这样客户端就不必重新发送请求或使用轮询技术来获取消息。可以用在聊天室、看板、单点通讯、多点通讯,甚至可以结合其他技术用来做视频聊天,当然也有其他用途。

SignalR实现机制:SignalR 的实现机制与 .NET WCF是相似的,都是使用远程代理来实现。在具体使用上,有两种不同目的的接口:PersistentConnection 和 Hubs,其中 PersistentConnection 是实现了长时间的 JavaScript 轮询(类似于 Comet),Hub 是用来解决实时信息交换问题,它是利用 Javascript 动态载入执行方法实现的。SignalR 将整个连接,信息交换过程封装得非常漂亮,客户端与服务器端全部使用 JSON 来交换数据。

基本流程图:

4、功能展示

即时通讯(IM)包含SignalR服务端,我们内部聊天IM的服务端如下图所示,要使用IM,必须要先启动服务端。

登录框架后在主界面右下解会显示即时通讯(IM)的图标,不占用用户的界面空间。有新信息带来时图标会自动闪烁,同时会有声音提醒非常的方便,类似QQ一样。

单击图标会显示企业内部聊天IM主界面,如下图所示。在IM界面按部门对用户进行了分组的展示。

在线用户会高亮显示,如下图所示。

双击一个用户,即可给指定用户发送信息,聊天界面如下图所示:

在上图中,我们给“陈俊熙”发了一条消息,我们现在以”wikstone”陈俊熙用户登录框架,登录成功会自动提示消息,如下图所示:

在弹出的聊天窗口,我们也可以给发送消息的用户直接回复。

“企业内部聊天IM”不仅可以做为简单的聊天工具,同时在业务协同办公过程中也有很好的支持,如:当用户收到一个待办业务时,IM也会自动进行带声音的提示,如下图所示。

5、参考文章

  • 全新跨平台版本.NET敏捷开发框架-RDIFramework.NET5.0震撼发布

  • RDIFramework.NET — 基于.NET的快速信息化系统开发框架 — 系列目录

  • RDIFramework.NET敏捷开发框架 ━ 工作流程组件介绍

  • RDIFramework.NET敏捷开发框架 ━ 工作流程组件Web业务平台

  • RDIFramework.NET敏捷开发框架 ━ 工作流程组件WinForm业务平台

  • 微信公众号开发系列-玩转微信开发-目录汇总

  • .NET Core部署到linux(CentOS)最全解决方案,常规篇

  • .NET Core部署到linux(CentOS)最全解决方案,进阶篇(Supervisor+Nginx)

  • .NET Core部署到linux(CentOS)最全解决方案,高阶篇(Docker+Nginx 或 Jexus)

  • .NET Core部署到linux(CentOS)最全解决方案,入魔篇(使用Docker+Jenkins实现持续集成、自动化部署)

  • 一网打尽,一文讲通虚拟机VirtualBox及Linux使用

  • 一文讲通.NET Core部署到Windows IIS最全解决方案

  • 常用linux命令,开发必备

5.1、SignalR开发相关

  • 史上最全面的SignalR系列教程-目录汇总

  • 史上最全面的SignalR系列教程-1、认识SignalR

  • 史上最全面的SignalR系列教程-2、SignalR 实现推送功能-永久连接类实现方式

  • 史上最全面的SignalR系列教程-3、SignalR 实现推送功能-集线器类实现方式

  • 史上最全面的SignalR系列教程-4、SignalR 自托管全解(使用Self-Host)-附各终端详细实例

  • 史上最全面的SignalR系列教程-5、SignalR 实现一对一聊天

  • 史上最全面的SignalR系列教程-6、SignalR 实现聊天室

  • RDIFramework.NET敏捷开发框架通过SignalR技术整合即时通讯(IM)

5.2、框架相关

  • 微信公众号开发系列-玩转微信开发-目录汇总

  • RDIFramework框架整合微信开发应用效果展示

  • RDIFramework.NET框架基于Quartz.Net实现任务调度详解及效果展示

  • RDIFramework.NET — 基于.NET的快速信息化系统开发框架 — 系列目录

  • RDIFramework.NET ━ .NET快速信息化系统开发框架 ━ 工作流程组件介绍

  • RDIFramework.NET框架SOA解决方案(集Windows服务、WinForm形式与IIS形式发布)-分布式应用

  • RDIFramework.NET代码生成器全新V3.5版本发布-重大升级


一路走来数个年头,感谢RDIFramework.NET框架的支持者与使用者,大家可以通过下面的地址了解详情。

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

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

特别说明,框架相关的技术文章请以官方网站为准,欢迎大家收藏!

RDIFramework.NET框架由海南国思软件科技有限公司专业团队长期打造、一直在更新、一直在升级,请放心使用!

欢迎关注RDIFramework.NET框架官方微信公众号(微信号:guosisoft),及时了解最新动态。

使用微信扫描二维码立即关注

通过SignalR技术整合即时通讯(IM)在.NET敏捷开发框架中落地相关推荐

  1. 技术分析| 即时通讯和实时通讯的区别

    即时通讯(IM)和实时通讯是一套网络通讯系统,其本质都是对信息进行转发.最大的不同点是对信息传递的时间规定.二者的区别可以从以下几个方面: 一.场景 常见的即时通讯 场景包括文字聊天.语音消息发送.文 ...

  2. java客服im_Java IM 即时通讯 | 盘古歌技术 | uni-app 即时通讯 源码出售 chat

    即时通讯知识小科普 什么是即时通信(即时通讯) 即时通信(即时通讯)是指互联网上用以进行实时通讯的系统服务,其允许多人使用即时通信(即时通讯)软件实时的传递文字信息.文档.语音以及视频等信息流. 随着 ...

  3. 即时通讯开发之实时音视频中的基本架构和协议栈

    为了便于理解,我们来看一个最基本的三角形WebRTC架构(见下图): 在这个架构中,移动电话用"浏览器M"表示,笔记本电脑用"浏览器L"表示,通过Web服务器将 ...

  4. 即时通讯开发时移动端实时音视频直播技术之处理

    视频或者音频完成采集之后得到原始数据,为了增强一些现场效果或者加上一些额外的效果,我们一般会在将其编码压缩前进行处理,比如打上时间戳或者公司 Logo 的水印,祛斑美颜和声音混淆等处理.在主播和观众连 ...

  5. 即时通讯安全篇(十一):IM聊天系统安全手段之传输内容端到端加密技术

    本文由融云技术团队分享,原题"互联网通信安全之端到端加密技术",内容有较多修订和改动. 1.引言 在上篇<IM聊天系统安全手段之通信连接层加密技术>中,分享了关于通信连 ...

  6. 即时通讯源码-即时通讯集群服务免费-通讯百万并发技术-Openfire 的安装配置教程手册-哇谷即时通讯集群方案-哇谷云-哇谷即时通讯源码

    即时通讯源码-即时通讯集群服务免费-通讯百万并发技术-Openfire 的安装配置教程手册-哇谷即时通讯集群方案-哇谷云 1,openfire开发环境配置 很久没有写点东西了.最近很烦心,领导不给力. ...

  7. 知识付费直播间即时通讯

    知识付费直播间即时通讯使用WebSocket创建.目前,直播间的发信息.送礼物.在线人数.欢迎语和开关播提示都是基于此进行通讯. 浏览器通过JavaScript向服务器发出建立WebSocket连接的 ...

  8. 即时通讯系统及实现公共好友分组的方法

    即时通讯系统及实现公共好友分组的方法 本发明公开了一种在即时通讯系统中实现公用 好友分组的方法,所述即时通讯系统包括即时通讯 服务器和与该即时通讯服务器交互的客户端. 该方法为:按预定的分组方式创建公 ...

  9. 即时通讯:IM即时通讯实现原理

    即时通讯:IM即时通讯实现原理 IM技术概念 即时通讯(Instant Messenger,简称IM)软件多是基于TCP/IP和UDP进行通讯的,TCP/IP和UDP都是建立在更低层的IP协议上的两种 ...

最新文章

  1. 添加类iOS cocos2d 2游戏开发实战(第3版)
  2. elasticsearch 自定义_id
  3. Hash MD5 CRC 知识
  4. 下一代低延时直播CDN:HLS、RTMP 与UDP +WebRTC
  5. 总结一下矩阵的基本操作
  6. laravel本地项目上传服务器,laravel 上传本地文件到服务器
  7. JVM学习03-常用Java虚拟机参数
  8. [渝粤教育] 中国地质大学 管理信息系统 复习题
  9. 第四十六讲 ASP.NET实例编程(五)
  10. 百度地图改变定位图标
  11. todd的hadoop world的ppt笔记
  12. 蓝绿发布、金丝雀发布、A/B测试
  13. 20175208 实验三《敏捷开发与XP实践》_实验报告
  14. 前端复习之JavaScript(ECMAScript5)
  15. UBOOT移植详细 很全面
  16. 非全日制计算机博士招生简章,非全日制教育博士招生简章2020
  17. 荣耀手表gspro是鸿蒙系统吗,荣耀手表gspro有哪些功能-功能说明
  18. 第3组 团队展示(组长)
  19. 【OpenCV学习笔记】之图像轮廓特征与图像的矩
  20. Amazon kindle 4 note

热门文章

  1. POI技术,将数据库数据导出到excel表中
  2. Office/Visio/Project 2019 专业版iso
  3. 边缘计算网关助力建筑能耗监测系统
  4. 2020最新微信hook_基于windowsPC开发
  5. 小兔的棋盘(卡特蘭數)
  6. 基于JavaWeb+Mysql的网上销售管理系统
  7. 人工智能周苏版作业答案2
  8. 南京邮电大学计算机网络期末试卷,南京邮电大学计算机网络期末考试试卷A
  9. 极鹰云融合cdn用在云服务器如何加速
  10. matlab线性相位滤波器设计,关于第二类线性相位滤波器问题分析