.Net WebSocket学习之旅(总)

以往在浏览器中通过http仅能实现单向的通信,即request-response,为了达到双向通讯的效果,最常用的就是长轮询(定时器+ajax),但是它的缺点是浪费带宽资源。

WebSocket使用ws/wss协议,最初在HTML5规范中被引用为TCP连接,它实现了浏览器与服务器全双工(full-duplex)通信。

理论部分不详说,自行百度,简单的告诉你就是双向实时通讯,能针对个人、全体发送消息(典型应用聊天室)。


之前自己学习websocket的时候百度过不少帖子,都感觉比较零散,无法系统学习,所以花了点时间先研究了一二,后面会陆续提供源代码。


目前我看到的websocket的实现有三个版本

1.原生的websocket,最原始的实现方式。

2.带socket.IO的实现方式(不是所有的浏览器支持websocket,socket.io封装了websocket,同时包含了其它的连接方式,比如Ajax。)

3..Net环境提供的SignalR框架(未正式集成到.net平台,需要在Nuget自行安装),原理是使用了代理对象。


websocket的运行跟IIS环境有关系,听说至少是IIS8。

个人是C#开发,亲测在原生websocket程序可以在Win10上正常运行(IIS10),在Win7上不可以运行报错。
报错内容是Error during Websocket handshake:Unexpected response code:200



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值