资源简介
亲测通过,可以实时将消息发送至客户端,几乎零延时。。。,很快
不像ajax一样,一直刷。。。
最近在项目开发中使用了一种比较新的技术,SSE,即 Server-Send Event,使用它从服务器向浏览器推送数据。
传统的网页都是浏览器向服务器“查询”数据,但是很多场合,最有效的方式是服务器向浏览器“发送”数据。比如,每当收到新的电子邮件,服务器就向浏览器发送一个“通知”,这要比浏览器按时向服务器查询(polling)更有效率。
服务器发送事件(Server-Sent Events,简称SSE)就是为了解决这个问题,而提出的一种新API,部署在EventSource对象上。目前,除了IE,其他主流浏览器都支持。
简单说,所谓SSE,就是浏览器向服务器发送一个HTTP请求,然后服务器不断单向地向浏览器推送“信息”(message)。这种信息在格式上很简单,就是“信息”加上前缀“data: ”,然后以“\n\n”结尾。
SSE与WebSocket有相似功能,都是用来建立浏览器与服务器之间的通信渠道。两者的区别在于:
WebSocket是全双工通道,可以双向通信,功能更强;SSE是单向通道,只能服务器向浏览器端发送。
WebSocket是一个新的协议,需要服务器端支持;SSE则是部署在HTTP协议之上的,现有的服务器软件都支持。
SSE是一个轻量级协议,相对简单;WebSocket是一种较重的协议,相对复杂。
SSE默认支持断线重连,WebSocket则需要额外部署。
SSE支持自定义发送的数据类型。
从上面的比较可以看出,两者各有特点,适合不同的场合。
提示:除了IE之外,几乎所有浏览器均支持 SSE
代码片段和文件信息
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Http;
using System.Web.Mvc;
using System.Web.Optimization;
using System.Web.Routing;
namespace Strathweb.HTML5push
{
// Note: For instructions on enabling IIS6 or IIS7 classic mode
// visit http://go.microsoft.com/?linkId=9394801
public class WebApiApplication : System.Web.HttpApplication
{
public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
filters.Add(new HandleErrorAttribute());
}
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute(“{resource}.axd/{*pathInfo}“);
routes.MapHttpRoute(
name: “DefaultApi“
routeTe
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2012-05-06 19:31 .nuget\
文件 302 2012-05-06 19:31 .nuget\packages.config
目录 0 2016-12-31 23:16 aspnetwebapi-html5push\
文件 1275 2016-12-31 20:12 aspnetwebapi-html5push.sln
文件 51712 2012-05-06 19:31 aspnetwebapi-html5push.suo
目录 0 2016-12-31 19:57 aspnetwebapi-html5push\App_Data\
文件 14386 2016-12-31 23:16 aspnetwebapi-html5push\aspnetwebapi-html5push.csproj
文件 1168 2016-12-31 23:16 aspnetwebapi-html5push\aspnetwebapi-html5push.csproj.user
目录 0 2016-12-31 20:15 aspnetwebapi-html5push\bin\
文件 785184 2012-05-06 19:31 aspnetwebapi-html5push\bin\Entityfr
文件 821283 2012-05-06 19:31 aspnetwebapi-html5push\bin\Entityfr
文件 45416 2012-05-06 19:31 aspnetwebapi-html5push\bin\Microsoft.Web.Infrastructure.dll
文件 10240 2016-12-31 23:16 aspnetwebapi-html5push\bin\MvcApplication2-4.dll
文件 4009 2016-12-31 23:16 aspnetwebapi-html5push\bin\MvcApplication2-4.dll.config
文件 19968 2016-12-31 23:16 aspnetwebapi-html5push\bin\MvcApplication2-4.pdb
文件 374272 2012-05-06 19:31 aspnetwebapi-html5push\bin\Newtonsoft.Json.dll
文件 1025536 2012-05-06 19:31 aspnetwebapi-html5push\bin\Newtonsoft.Json.pdb
文件 406212 2012-05-06 19:31 aspnetwebapi-html5push\bin\Newtonsoft.Json.xm
文件 66408 2012-05-06 19:31 aspnetwebapi-html5push\bin\System.Json.dll
文件 59669 2012-05-06 19:31 aspnetwebapi-html5push\bin\System.Json.xm
文件 181856 2012-05-06 19:31 aspnetwebapi-html5push\bin\System.Net.Http.dll
文件 165472 2012-05-06 19:31 aspnetwebapi-html5push\bin\System.Net.Http.Formatting.dll
文件 116511 2012-05-06 19:31 aspnetwebapi-html5push\bin\System.Net.Http.Formatting.xm
文件 15456 2012-05-06 19:31 aspnetwebapi-html5push\bin\System.Net.Http.WebRequest.dll
文件 5011 2012-05-06 19:31 aspnetwebapi-html5push\bin\System.Net.Http.WebRequest.xm
文件 153934 2012-05-06 19:31 aspnetwebapi-html5push\bin\System.Net.Http.xm
文件 138352 2012-05-06 19:31 aspnetwebapi-html5push\bin\System.Web.Helpers.dll
文件 70262 2012-05-06 19:31 aspnetwebapi-html5push\bin\System.Web.Helpers.xm
文件 364128 2012-05-06 19:31 aspnetwebapi-html5push\bin\System.Web.Http.dll
文件 66144 2012-05-06 19:31 aspnetwebapi-html5push\bin\System.Web.Http.WebHost.dll
文件 7003 2012-05-06 19:31 aspnetwebapi-html5push\bin\System.Web.Http.WebHost.xm
............此处省略471个文件信息
相关资源
- ASP.NET WebAPI+mvc4.0+EasyUI快速开发框架
- Essential C# 7.0
- 蒋金楠ASP.NET Web API 2 框架揭秘完整带
- C# HttpWebRequest动态调用WebApi、WCF、We
- C# 本质论第5版 Essential C#6.0 中文版
- WebApi搭建简单服务器demo亲测可用
- VScolorful.vssettings
- js+html5+css3多平台时尚用户登录界面设
-
html5上传图片转换成ba
se64值传入后台 - 锐浪asp.net MVC html5报表显示
- AirPassengers.csv
- 国际旅行旅客人数数据集international
- WinCE访问WebAPI及Json切换功能
- html5+js二维码扫描asp.net),可通用其
- HTML5+JQUERY文件上传,手机浏览器兼容
- AssetStudio.v0.13.25 unity引擎解包工具
- 基于ASP.NET core2.0 使用EF和WebAPI,Angu
- OPC Client WebAPI跨平台调用程序(RestF
- C# WEBAPI 及winform调用
- C# WebAPI
- ASP.NET Web API 接收文件上传
- UDP Messenger 1.0.unitypackage
- html5 绘图以及 动画
- html5简单进度条效(progressbar)
- C# 操作assess数据库
- C#连接ACSSES数据库具体写法
- asp.net webapi2 基于token令牌的身份验证
- c#用webkit内核支持html5
- HTML5 WebSocket 构建实时 Web 应用
- ASP.NET Core+SignalR 2 实时消息推送
评论
共有 条评论