- 51Aspx源码必读.txt[7KB]
- from .gif[4KB]
- YutianSignalChat.sln[1KB]
- 最新Asp.Net源码下载.url[123B]
源码介绍
源码参数
一、源码特点
1.Net Framework Wpf 即时通讯聊天室软件。
2.使用当前最流行的客户端和服务端通信框架 SignalR实现。
3.2个项目:服务端ChatServerCS项目、客户端ChatClientCS项目。
4.适合学习想要学习实时推送和服务端和客户端交互的同学和想直接应用到商业项目中的IT工作人员。
二、项目详情
内部项目名:YutianSignalChat
产品名:雨田.Net SignalR+Wpf即时通讯聊天室软件
版本号:1.0
开发周期:2个月
开发时间:2020年-2021年
开发语言:C#
系统架构:C/S
开发工具:Microsoft Visual Studio 2019
所用数据库:内存数据库
开发系统: Windows 10
运行环境:Windows 2000/Windows Server 2003/Windows XP/Windows Server 2008/Windows Server 2012/Windows 7/Windows Vista/Windows 8||8.1/Windows 10/
三、所用技术栈
1.SignalR通讯框架
2.WebSocket技术
3.Net Framework 4.6
4.MVVM双向数据绑定设计模式
5.Wpf设计和Xaml界面设计
6.Material Design设计框架
7.Cors跨域请求
8.控制台做服务器载体
四、产品功能点
1.登录注册。
2.自动上线后实时显示其他用户的上线状态和输入状态。
4.修改个人信息头像等。
5.发送文字信息给每一个人。
6.可以发送图片信息。
7.服务器所有用户的上下线信息和状态信息日志统计。
五、注意事项
测试用户名:计算机
测试用户名:程序员
使用方法:
1.首先运行服务端项目ChatServerCS,双击打开后不用管。
2.然后运行客户端项目ChatClientCS,双击打开后输入用户名或者密码登录进入聊天室聊天。
六、延伸介绍
SignalR 是什么?
SignalR 是一个面向 ASP.NET 开发人员的库,可简化将实时 web 功能添加到应用程序的过程。 实时 web 功能是让服务器代码将内容推送到连接的客户端立即可用,而不是让服务器等待客户端请求新数据的能力。
SignalR 是一个集成的客户端与服务器库,基于浏览器的客户端和基于 ASP.NET 的服务器组件可以借助它来进行双向多步对话。 换句话说,该对话可不受限制地进行单个无状态请求/响应数据交换;它将继续,直到明确关闭。 对话通过永久连接进行,允许客户端向服务器发送多个消息,并允许服务器做出相应答复,值得注意的是,还允许服务器向客户端发送异步消息。是一个完全基于客户及服务器端解决方案,它是以JS作为客户端和ASP.NET作为服务端来创建这类的应用。
传统HTTP采用的是大家熟知的“拉模式”,即客户端发出的每次请求,服务端都是被动处理。此场景下客户端是老大,很显然只有一方主动,操作与处理起来就没那么完美。为了能让服务端也能主动,html5的出现让这种变得可能,大家知道html5中有两种主动模式。第一种叫做websockect,WebSockets是Html5提供的新的API,可以在Web网页与服务器端间建立Socket连接,它是基于tcp模式的双工通讯。还有一种叫做SSE,也就是客户端来订阅服务器的一种事件模型。在html5出来之前,如果要做到服务器主动,我们只能采用变相的longpool和iframe流勉强实现。这就相当于要实现服务端的主动就有了4种方案。SignalR的出现是我们每位开发者的福音。它对上面四种方案进行了高度的封装,也就是说signalR会在这四种技术中根据浏览器和服务器设置采取最优的一种模式。
可以用SignalR做什么?
SignalR可用于将任何类型的"实时"web 功能添加到 ASP.NET 应用程序。 比如最常用的即时消息、聊天。 只要用户刷新 web 页面以查看新数据或页面实现长轮询若要检索新数据,可以考虑对它使用 SignalR。 包括仪表板和监视应用程序,协作应用程序 (如同时进行编辑的文档),作业的进度更新到并实时窗体。
SignalR还可以用于需要高频率从服务器中更新的全新类型weB应用程序,例如在线聊天、实时游戏、天气、股票信息更新等实时应用程序。
SignalR 提供一个简单的 API,用于创建从服务器端.NET 代码中调用 JavaScript 函数在客户端浏览器 (和其他客户端平台) 的服务器到客户端的远程过程调用 (RPC)。 SignalR 还包括连接管理的 API (例如,连接和断开连接事件),并对连接进行分组。
SignalR自动处理连接管理,并允许您同时将消息广播到所有连接的客户端,如聊天室。 还可以将消息发送到特定的客户端。 客户端和服务器之间的连接是持久性的。
SignalR与常用的Web浏览器上请求-响应模式不同,它支持"服务器推送"功能,可以调用远程过程调用 (RPC)。
SignalR应用程序可以横向扩展到数千个客户端使用服务总线、 SQL Server 或Redis。