为了解决长连接的两个缺点(1、长时间占用服务器线程,并且服务器线程是有限的2、浏览器一直处于连接状态,无法进行其他操作。) Signalr诞生了。Signalr全称ASP.NET SignalR
是为ASP.NET 提供一个库,可以简化开发人员将实时Web功能添加到应用程序的过程。说白了就是:当所连接的客户端变得可用时,服务器代码可以立即向其推送内容,而不是让服务器等待客户端请求新的数据。一般都是前台用Ajax传送数据调用狗太方法。这个最重要的就是前台和后台相互调用方法。(用程序包管理器控制台输入:install-package Microsoft.AspNet.SignalR -version 2.0.3下载Signalr。)
先创建一个Hubs的文件夹,下面创建一个类,创建方法:
All,是向所有方法传输。还可以忽略自身等等。
这里我就不再多描述了,注释很清楚了,只不过要注意红线哪里的坑(注意大小写)
这里是前台显示,基本只需要这点点代码就可以实现一个小聊天了。
我给大家带来效果图:
然后自己在写一些样式,加个背景。一个小的多人聊天就完成啦。而且这个其实还可以扩展很多东西,到最后成一个多人聊天软件。
OK啦 今天就到这里,每天多努力一点点。不积跬步无以至千里