websocket的用途/场景

先总结:高即时性服务,比如聊天室的群聊,server顺序收到了张三,李四的消息,立即就推送给王五,不能让王五等半天。
Ajax也可以一秒一刷,让王五去问张三说话没,如果张三10分钟没说话,王五要去问600次。 用websocket 王五不用刷,等着就好了,服务器有了消息会自动给王五的。

1.websocket社交订阅
对社交类的应用的一个裨益之处就是能够即时的知道你的朋友正在做什么。虽然听起来有点可怕,但是我们都喜欢这样做。你不会想要在数分钟之后才能知道一个家庭成员在馅饼制作大赛获胜或者一个朋友订婚的消息。你是在线的,所以你的订阅的更新应该是实时的。

2.websocket多玩家游戏

网络正在迅速转变为游戏平台。在不使用插件(我指的是Flash)的情况下,网络开发者现在可以在浏览器中实现和体验高性能的游戏。无论你是在处理DOM元素、css动画,html5的canvas或者尝试使用WebGL,玩家之间的互动效率是至关重要的。我不想在我扣动扳机之后,我的对手却已经移动位置。

3.websocket协同编辑/编程

我们生活在分布式开发团队的时代。平时使用一个文档的副本就满足工作需求了,但是你最终需要有一个方式来合并所有的编辑副本。版本控制系统,比如Git能够帮助处理某些文件,但是当Git发现一个它不能解决的冲突时,你仍然需要去跟踪人们的修改历史。通过一个协同解决方案,比如WebSocket,我们能够工作在同一个文档,从而省去所有的合并版本。这样会很容易看出谁在编辑什么或者你在和谁同时在修改文档的同一部分。

4.websocket收集点击流数据

分析用户与你网站的互动是提升你的网站的关键。HTTP的开销让我们只能优先考虑和收集最重要的数据部分。然后,经过六个月的线下分析,我们意识到我们应该收集一个不同的判断标准——一个看起来不是那么重要但是现在却影响了一个关键的决定。与HTTP请求的开销方式相比,使用Websocket,你可以由客户端发送不受限制的数据。想要在除页面加载之外跟踪鼠标的移动?只需要通过WebSocket连接发送这些数据到服务器,并存储在你喜欢的NoSQL数据库中就可以了(MongoDB是适合记录这样的事件的)。现在你可以通过回放用户在页面的动作来清楚的知道发生了什么。

5.股票基金报价

金融界瞬息万变——几乎是每毫秒都在变化。我们人类的大脑不能持续以那样的速度处理那么多的数据,所以我们写了一些算法来帮我们处理这些事情。虽然你不一定是在处理高频的交易,但是,过时的信息也只能导致损失。当你有一个显示盘来跟踪你感兴趣的公司时,你肯定想要随时知道他们的价值,而不是10秒前的数据。使用WebSocket可以流式更新这些数据变化而不需要等待。

6.体育实况更新

现在我们开始讨论一个让人们激情澎湃的愚蠢的东西——体育。我不是运动爱好者,但是我知道运动迷们想要什么。当爱国者在打比赛的时候,我的妹夫将会沉浸于这场比赛中而不能自拔。那是一种疯狂痴迷的状态,完全发自内心的。我虽然不理解这个,但是我敬佩他们与运动之间的这种强烈的联系,所以,最后我能做的就是给他的体验中降低延迟。如果你在你的网站应用中包含了体育新闻,WebSocket能够助力你的用户获得实时的更新。

7.多媒体聊天

视频会议并不能代替和真人相见,但当你不能在同一个屋子里见到你谈话的对象时,视频会议是个不错的选择。尽管视频会议私有化做的“不错”,但其使用还是很繁琐。我可是开放式网络的粉丝,所以用WebSockets getUserMedia API和html5音视频元素明显是个不错的选择。WebRTC的出现顺理成章的成为我刚才概括的组合体,它看起来很有希望,但其缺乏目前浏览器的支持,所以就取消了它成为候选人的资格。

8.基于位置的应用

越来越多的开发者借用移动设备的GPS功能来实现他们基于位置的网络应用。如果你一直记录用户的位置(比如运行应用来记录运动轨迹),你可以收集到更加细致化的数据。如果你想实时的更新网络数据仪表盘(可以说是一个监视运动员的教练),HTTP协议显得有些笨拙。借用WebSocket TCP链接可以让数据飞起来。

9.在线教育

上学花费越来越贵了,但互联网变得更快和更便宜。在线教育是学习的不错方式,尤其是你可以和老师以及其他同学一起交流。很自然,WebSockets是个不错的选择,可以多媒体聊天、文字聊天以及其它优势如与别人合作一起在公共数字黑板上画画…

10.论坛的消息广播
早期的论坛消息通知,靠的都是js轮询,现在有了websocket 可以改改了。

websocket的用途/场景相关推荐

  1. Redis解决websocket在分布式场景下session共享问题

    欢迎关注方志朋的博客,回复"666"获面试宝典 来源:blog.csdn.net/weixin_45089791/article/ details/118028312 在显示项目中 ...

  2. flink 的用途 场景

    flink 的用途 Flink为流处理器开辟了新的用武之地,它使流处理架构变得完整.它的一大优势便是,使应用程序的构建过程符合自然规律.为了了解Flink的用途及用法,我们来看一看令它具有多用途的几个 ...

  3. WebSocket原理及使用场景(转载)

    由轮询到WebSocket 1 轮询 客户端和服务器之间会一直进行连接,每隔一段时间就询问一次.客户端会轮询,有没有新消息.这种方式连接数会很多,一个接受,一个发送.而且每次发送请求都会有Http的H ...

  4. WebSocket聊天室业务场景分析

    1. 需求描述 假设需要建立一个Web聊天室,可以理解为QQ的Web版本.首先考虑最简单的需求,即实现用户A和用户B之间的聊天.而实现的技术采用WebSocket.业务场景如下图所示. 2. 场景分析 ...

  5. 微软大佬带你深入解析websocket丨tcp自定义协议的设计丨服务器高并发场景的优化

    各个方面都离不开的websocket,只是你没有注意到 1. websocket的应用场景 2. tcp自定义协议的设计 3. 服务器高并发场景的优化 [Linux服务器开发系列]微软大佬带你深入解析 ...

  6. Springboot 整合 WebSocket ,使用STOMP协议+Redis 解决负载场景问题(二)

    前言 上一篇,简单给大家整合了一下websocket,使用stomp方式. 这篇,就是考虑到单体的服务使用websocket ,按照上一篇的整合,确实没问题. 但是如果一旦是负载多台服务的时候,那么就 ...

  7. Java开发中Websocket的技术选型参考

    1. 前言 Websocket是 HTML5 开始提供的一种在单个 TCP 连接上进行全双工通讯的协议.WebSocket 使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据 ...

  8. 微信,QQ这类IM app怎么做——谈谈Websocket

    本文转载至 https://mp.weixin.qq.com/s?__biz=MjM5OTM0MzIwMQ==&mid=2652545551&idx=1&sn=403b75d9 ...

  9. WebSocket笔记(一) 初步认识

    原文:http://zhangxiao.org/2018/WebSocket/intro/ 使用场景 服务器,需要向客户端主动端推送消息(数据) 客户端,需要实施获取服务器上数据更新或变化 基本概念 ...

最新文章

  1. 迷宫搜索问题最短路_[源码和文档分享]基于C语言实现的勇闯迷宫游戏
  2. CentOS 6.4安装配置LNMP服务器(Nginx+PHP+MySQL)
  3. 微信支付curl出错及错误码解决方案
  4. HDU 2243 考研路茫茫——单词情结(自动机)
  5. cocos2d-x多分辨率自适配及因此导致的CCListView的bug修复
  6. 精译丨贝莱德掌舵人拉里 · 芬克:华尔街是什么
  7. Linux+ps进程解释,linux ps查看进程命令详解
  8. Windows系统修改Docker镜像下载地址
  9. NB-IoT移远BC95调试笔记 01 加网测试
  10. 时间序列数据挖掘综述
  11. 宽带拨号连接显示被远程计算机终止
  12. 透过西安未来人工智能计算中心,看到AI不一样的未来
  13. h5网站建设设计解决方案
  14. HCIA 8-17 笔记
  15. 【Bug(未解决)】正在连接servername...无法打开到主机的连接。 在端口 25: 连接失败
  16. 【重磅】马晓东所著的《数字化转型方法论》获“大数据科技传播奖”,与李兰娟等10位院士、BAT高管共获殊荣
  17. Kotlin入门笔记(二) Kotlin 函数的简单介绍
  18. Excel如何从复杂文本中提取汉字
  19. 通用人工智能:定义、范围和作为早期 AGI 的 ChatGPT
  20. MySQL8.0导入数据

热门文章

  1. [转载] Python入门(输入/输出、数据类型、条件/循环语句)
  2. [转载] python通过adb获取android手机耗电量
  3. 树1 树的同构_检查树是否同构
  4. java写手机游戏_如何将自己编写的JAVA小游戏写到手机里?
  5. 把百度网站设为首页_网站百度推广效果好不好?怎样才能把网站推广到百度首页?...
  6. android 对话框的父view是谁,android – 在对话框中获取相对于其父级的视图位置
  7. ruby 将日期转化为时间_Ruby中的日期和时间类
  8. MySQL 常见的开放性问题
  9. 关于CentOS-6的默认带的mysql启动和安装问题
  10. python http 返回json中文乱码