.Net 下的WebSocket
来源:互联网 发布:淘宝加入购物车的好处 编辑:程序博客网 时间:2024/04/30 18:29
WebSocket是HTML5最重要的特性,让网页真正支持双工通信
它淘汰了Ajax的长轮询机制,以更节约计算资源和带宽(Http报头很小)的方式通信(长轮询机制只是模拟的双工通信,不是真正的服务器推的方式)
WebSocket在未来一定会全面取代Ajax,所以一定要特别关注它,随便在网上搜了一下.net的WebSocket开发包不少
这里进行了比较
最终,我觉得选用SignalR是一个不错的库,它是基于mono的,所以可以跨平台,它可以自托管(不用IIS,寄宿在控件制台,或者windows服务之上),它还可以支持不支持WebSocket的浏览器,在浏览器不支持WebSocket时,自动模拟双工通信(应该是长轮询方式)
安装方式
在NuGet程序包管理器控制台上输入
Install-Package Microsoft.AspNet.SignalR -Version 1.0.1
这是针对.Net Framework 4.0 的版本
也可以默认使用最新版本的SignalR,使用如下命令
Install-Package Microsoft.AspNet.SignalR
它会自动检测依赖的所有库,下载并引入项目
正在尝试解析依赖项“Microsoft.AspNet.SignalR.JS (≥ 1.0.1)”。正在尝试解析依赖项“jQuery (≥ 1.6.4)”。正在尝试解析依赖项“Microsoft.AspNet.SignalR.SystemWeb (≥ 1.0.1)”。正在尝试解析依赖项“Microsoft.AspNet.SignalR.Owin (≥ 1.0.1)”。正在尝试解析依赖项“Microsoft.AspNet.SignalR.Core (≥ 1.0.1)”。正在尝试解析依赖项“Newtonsoft.Json (≥ 4.5.11)”。正在尝试解析依赖项“Owin (≥ 1.0)”。正在尝试解析依赖项“Microsoft.Owin.Host.SystemWeb (≥ 1.0)”。正在尝试解析依赖项“Microsoft.Web.Infrastructure (≥ 1.0.0.0)”。正在安装“jQuery 1.6.4”。已成功安装“jQuery 1.6.4”。正在安装“Microsoft.AspNet.SignalR.JS 1.0.1”。您正在从 Microsoft 下载 Microsoft.AspNet.SignalR.JS,有关此程序包的许可协议在 http://www.microsoft.com/web/webpi/eula/aspnet_and_web_tools_2012_2_RTW_EULA_ENU.htm 上提供。请检查此程序包是否有其他依赖项,这些依赖项可能带有各自的许可协议。您若使用程序包及依赖项,即构成您接受其许可协议。如果您不接受这些许可协议,请从您的设备中删除相关组件。已成功安装“Microsoft.AspNet.SignalR.JS 1.0.1”。正在安装“Newtonsoft.Json 4.5.11”。已成功安装“Newtonsoft.Json 4.5.11”。正在安装“Microsoft.AspNet.SignalR.Core 1.0.1”。您正在从 Microsoft 下载 Microsoft.AspNet.SignalR.Core,有关此程序包的许可协议在 http://www.microsoft.com/web/webpi/eula/aspnet_and_web_tools_2012_2_RTW_EULA_ENU.htm 上提供。请检查此程序包是否有其他依赖项,这些依赖项可能带有各自的许可协议。您若使用程序包及依赖项,即构成您接受其许可协议。如果您不接受这些许可协议,请从您的设备中删除相关组件。已成功安装“Microsoft.AspNet.SignalR.Core 1.0.1”。正在安装“Owin 1.0”。已成功安装“Owin 1.0”。正在安装“Microsoft.AspNet.SignalR.Owin 1.0.1”。您正在从 Microsoft 下载 Microsoft.AspNet.SignalR.Owin,有关此程序包的许可协议在 http://www.microsoft.com/web/webpi/eula/aspnet_and_web_tools_2012_2_RTW_EULA_ENU.htm 上提供。请检查此程序包是否有其他依赖项,这些依赖项可能带有各自的许可协议。您若使用程序包及依赖项,即构成您接受其许可协议。如果您不接受这些许可协议,请从您的设备中删除相关组件。已成功安装“Microsoft.AspNet.SignalR.Owin 1.0.1”。正在安装“Microsoft.Web.Infrastructure 1.0.0.0”。已成功安装“Microsoft.Web.Infrastructure 1.0.0.0”。正在安装“Microsoft.Owin.Host.SystemWeb 1.0.0”。您正在从 Microsoft 下载 Microsoft.Owin.Host.SystemWeb,有关此程序包的许可协议在 http://www.microsoft.com/web/webpi/eula/aspnet_and_web_tools_2012_2_RTW_EULA_ENU.htm 上提供。请检查此程序包是否有其他依赖项,这些依赖项可能带有各自的许可协议。您若使用程序包及依赖项,即构成您接受其许可协议。如果您不接受这些许可协议,请从您的设备中删除相关组件。已成功安装“Microsoft.Owin.Host.SystemWeb 1.0.0”。正在安装“Microsoft.AspNet.SignalR.SystemWeb 1.0.1”。您正在从 Microsoft 下载 Microsoft.AspNet.SignalR.SystemWeb,有关此程序包的许可协议在 http://www.microsoft.com/web/webpi/eula/aspnet_and_web_tools_2012_2_RTW_EULA_ENU.htm 上提供。请检查此程序包是否有其他依赖项,这些依赖项可能带有各自的许可协议。您若使用程序包及依赖项,即构成您接受其许可协议。如果您不接受这些许可协议,请从您的设备中删除相关组件。已成功安装“Microsoft.AspNet.SignalR.SystemWeb 1.0.1”。正在安装“Microsoft.AspNet.SignalR 1.0.1”。您正在从 Microsoft 下载 Microsoft.AspNet.SignalR,有关此程序包的许可协议在 http://www.microsoft.com/web/webpi/eula/aspnet_and_web_tools_2012_2_RTW_EULA_ENU.htm 上提供。请检查此程序包是否有其他依赖项,这些依赖项可能带有各自的许可协议。您若使用程序包及依赖项,即构成您接受其许可协议。如果您不接受这些许可协议,请从您的设备中删除相关组件。已成功安装“Microsoft.AspNet.SignalR 1.0.1”。正在将“jQuery 1.6.4”添加到 WebSites。已成功将“jQuery 1.6.4”添加到 WebSites。正在将“Microsoft.AspNet.SignalR.JS 1.0.1”添加到 WebSites。已成功将“Microsoft.AspNet.SignalR.JS 1.0.1”添加到 WebSites。正在将“Newtonsoft.Json 4.5.11”添加到 WebSites。已成功将“Newtonsoft.Json 4.5.11”添加到 WebSites。正在将“Microsoft.AspNet.SignalR.Core 1.0.1”添加到 WebSites。已成功将“Microsoft.AspNet.SignalR.Core 1.0.1”添加到 WebSites。正在将“Owin 1.0”添加到 WebSites。已成功将“Owin 1.0”添加到 WebSites。正在将“Microsoft.AspNet.SignalR.Owin 1.0.1”添加到 WebSites。已成功将“Microsoft.AspNet.SignalR.Owin 1.0.1”添加到 WebSites。正在将“Microsoft.Web.Infrastructure 1.0.0.0”添加到 WebSites。已成功将“Microsoft.Web.Infrastructure 1.0.0.0”添加到 WebSites。正在将“Microsoft.Owin.Host.SystemWeb 1.0.0”添加到 WebSites。已成功将“Microsoft.Owin.Host.SystemWeb 1.0.0”添加到 WebSites。正在将“Microsoft.AspNet.SignalR.SystemWeb 1.0.1”添加到 WebSites。已成功将“Microsoft.AspNet.SignalR.SystemWeb 1.0.1”添加到 WebSites。正在将“Microsoft.AspNet.SignalR 1.0.1”添加到 WebSites。已成功将“Microsoft.AspNet.SignalR 1.0.1”添加到 WebSites。
网站项目下多了一堆使用的库
找到下面一个系列文章,可以系统的学一学
《ASP.NET SignalR系列》
一个具体的例子,但没有完整代码
通过(Node Js||.Net)基于HTML5的WebSocket实现实时视频文字传输(上)
SignalR 2.0 MoveShape Demo 打开两个浏览器,随意拖动其中一个浏览器中的方块,另一个浏览器中的方块跟着动
打通B/S与C/S !让HTML5 WebSocket与.NET Socket公用同一个服务端!
- .Net 下的WebSocket
- .NET平台下websocket协议的实现!
- .NET平台下websocket协议的实现!
- Unity3d 下websocket的使用
- .NET 的 WebSocket 开发包比较
- ASP.NET中WebSocket 的使用总结
- .NET 的 WebSocket 开发包比较
- Tomcat 7的WebSocket实现(下)
- HTML5下的WebSocket学习笔记
- spring-websocket下的前后端分离
- 使用websocket下nginx的配置
- WebSocket在各种框架下的应用
- 基于.NET 的WebSocket 的简单实例 --- 建立连接
- 基于.NET 的WebSocket 的简单实例 --- 数据格式
- 基于.NET 的WebSocket 的简单实例 --- 数据格式
- 基于.NET 的WebSocket 的简单实例 --- 数据格式
- .net webSocket例子
- Spring-websocket不在Springmvc的环境下使用
- 学习笔记(二):虚函数与纯虚函数
- iOS 计算时间差
- 浅析cocos2d-x 2.x到3.x事件侦听设计变化原因之一
- 点击获取验证码显示倒计时
- Eclipse中查看/调试Jar包中的代码
- .Net 下的WebSocket
- iOS多线程编程指南(四)线程同步
- Menu 列表 中方法调用
- 巴菲特致股东的一封信:1994年
- UIScrollView控件的一些简单介绍
- 如何求时间复杂度
- SVN一直提示输入用户名和密码
- QQ浏览器优化
- MAMP:在 OSX 中搭建 Apache, MySQL, PHP 环境并本地安装、调试 WordPress