第六章 设计程序架构 之 设计实现WebSocket策略

1. 概述

  传统的网页的通信方式是请求-相应模式,每次请求-相应都是新的连接。连接的建立和断开也是需要消耗资源的。

  WebSocket是基于TCP协议,实现单个连接上的双向通信。

  本章内容包括: 异步读写字符串和二进制数据、选择连接损耗策略、何时使用WebSocket。

2. 主要内容

  2.1 异步读写字符串和二进制数据

     HTTP polling 是传统的使用一系列AJAX请求来实现客户端服务端长久连接(表面上看起来是长久连接)的方式。

    HTTP long polling 是客户端使用AJAX请求服务端时用到的一种服务端技术。是通过阻塞进入的请求,直到当前请求操作完成 来实现的。在HTTP中,这不是一种好的方式,因为HTTP的请求响应模式不是为这种情形设计的。而且这也不是一种可靠的方式,可能会发生连接中断的情况。

    WebSockets是一种新的支持双工通信的技术。

未完待续。。。

时间: 2024-10-24 20:48:16

第六章 设计程序架构 之 设计实现WebSocket策略的相关文章

第五章 设计程序架构 之 设计缓存策略

1. 概述 本章内容包括:实现 页面输出缓存.数据缓存.程序缓存 以及 HTTP缓存. 2. 主要内容 2.1 页面输出缓存 缓存是开发高可用web程序的重要部分. ① 浏览器可以以预定义的时长保存一个HTTP GET请求. [OutputCache(Duration=120, VaryByParam="Name", Location="ServerAndClient")] Public ActionResult Index() { Return View(&quo

第三章 设计程序架构 之 设计实现Windows Azure 角色生命周期

1. 概述 Windows Azure 是微软的云计算平台.用于 在微软数据中心 通过全局网络 生成.发布和管理应用程序. 本章内容包括 startup tasks 以及  实现 Start, Run 和 Stop 事件. 2. 主要内容 2.1 Windows Azure ① 提供 PaaS 和 IaaS 两种服务. PaaS 提供一个实际的计算平台,包括 操作系统.程序执行环境.数据库 和 web服务器. IaaS 是提供虚拟的机器. ② Windows Azure 有三种类型的解决方案:虚

第二章 设计程序架构 之 分布式应用

1. 概述 分布式应用是将程序的互相协作的各个模块放到不同的机器上,从而提高程序的性能和可靠性. 本章内容包括:集成web service.设计复合应用.分布式环境的session管理 以及 web farms. 2. 主要内容 2.1 集成web service 可以使用Asp.Net MVC4 创建 REST(Representation State Transfer) 服务. 使用 ApiController来返回序列化的数据.这个Controller根据Html头的Accepts属性来决

第四章 设计程序架构 之 状态管理

1. 概述 本章内容包括 如何选择状态管理架构.考虑扩展性.使用cookie和本地存储保存状态.web.config中配置 以及 实现sessionless状态. 2. 主要内容 2.1 选择状态管理架构 ① 首先需要考虑的问题是,你是否真的需要保存状态.无状态使得站点可以处理更多的并发访问. ② web forms 中有多种方式保存装填.最主要是就是ViewState.使用隐藏域来实现状态信息的传递. ③ MVC4程序中,状态信息可以保存在以下位置:Cache.Session.Cookies.

第一章 设计程序架构 之 分层架构

1. 概述 本章主要介绍 程序分层架构的主要组成部分,比如 数据访问方式 以及 Soc(separation of concern).其中重要的组成部分之一就是MVC架构.本章还将介绍MVC架构的组成部分. 2. 主要内容 2.1 数据访问 未完待续...

MySQL性能调优与架构设计——第9章 MySQL数据库Schema设计的性能优化

MySQL性能调优与架构设计——第9章 MySQL数据库Schema设计的性能优化 前言: 很多人都认为性能是在通过编写代码(程序代码或者是数据库代码)的过程中优化出来的,其实这是一个非常大的误区.真正影响性能最大的部分是在设计中就已经产生了的,后期的优化很多时候所能够带来的改善都只是在解决前妻设计所遗留下来的一些问题而已,而且能够解决的问题通常也比较有限.本章将就如何在 MySQL 数据库 Schema 设计的时候保证尽可能的高效,尽可能减少后期的烦恼. 9.1 高效的模型设计 最规范的就一定

读《大道至简》第六章有感

读<大道至简>第六章,映入眼帘的是:语言是一种工具.在人们的认识中,语言是一种工具.的确,语言是工具,它是思维的工具,是交际的工具,是文化传承的工具,语言的工具性价值已得到人们的广泛认可与普遍使用.但从语言的使用过程.使用范围.使频率以及语言的特质等诸方面进行考察,可以发现,它具有不同于一般工具的许多特点. 从语言的使用过程看.一般的工具是与主体分离的,工具只有在作用的过程中,才与主体在一起,当完成某一特定过程后,主体便与工具分开.如飞机,只有在飞行时,人才与飞机是一体的,一旦飞机将人送到目的

构建之法第六章学习心得

这周我学习了构建之法第六章敏捷流程,本章主要介绍了敏捷流程及其原则,Backlog.Burn-down.Sprint.Scrum方法论.以及什么时候选择敏捷的开发方法,什么时候选择其他方法..敏捷开发的原则是尽早并持续地交付有价值的软件以满足顾客需求敏捷流程欢迎需求的变化,并利用这种变化来提高用户的竞争优势经常发布可用的软件,发布间隔可以从几周到几个月,能短则短业务人员和开发人员在项目开发过程中应该每天共同工作以有进取心的人为项目核心,充分支持信任他们无论团队内外,面对面的交流始终是最有效的沟通

增长黑客内容摘要(四五六章)

增长黑客内容摘要(四五六章) 一.第四章 4.1 职场社交巨头的用户激活秘诀 用户的数量与结成的关系网络深度直接决定了其价值的大小. 策略:1.新册用户到达“邀请好友”页面时,如果系统默认建议用户邀请的朋友数量少于4人,则他们很可能会轻易地忽略这一步骤:如果多于4人,则可能会让用户感到焦虑和麻烦:而不偏不倚刚好4人,能实现最大程度的邀请转化率.2.新注册用户源源不断地带来更多用户,同时老用户也会时不时回来看看,处理请求,或者主动发起好友邀请. 4.2 A/B测试,网站活跃率提升的法宝 备选方案模