为什么很少看到有人用 websocket?

2018-11-12 11:51:27 +08:00
 a523

之前有需求就是前端页面实时显示后端的收集到的最新信息,比如说通知啊,告警啊,

用的是 ajax 轮询, 后得知有更先进的方法是 websocket, 如是想学下 websocket,可在学习并查找资料的过程中, 发现目前线上用 websocket 的案例真是少之又少啊? 一般都是用的是轮询,比如说阿里巴巴的在线旺旺,QQ 邮箱上传大附件的时候, 等等,Why ?

不是说,websocket 是 html5 专门用来解决, 服务端向浏览器发送消息的么?是最新的方法么?解决老方法的各种弊端。

如果你发现有公网上用 websocket 的例子, 请列出来,告诉我。

20758 次点击
所在节点    问与答
44 条回复
ysc3839
2018-11-12 17:55:01 +08:00
如果服务端用的是传统 PHP CGI 模式的话也无法支持 WebSocket。
你举的例子是因为开发时还没有 WebSocket,到了现在改用 WebSocket 太麻烦。
hsfzxjy
2018-11-12 18:12:40 +08:00
django channels 了解一下
fxxkgw
2018-11-12 18:15:06 +08:00
网络直播弹幕是不是就是 ws ?
param
2018-11-12 18:17:46 +08:00
a523
2018-11-12 18:31:29 +08:00
@hsfzxjy
@param
嗯, 这些都了解,疑惑的是像国内( QQ 邮箱上传附件显示进度,阿里旺旺网页版)这些知名网站为什么没用这些技术, 不是说“ HTML5 WebSocket 设计出来的目的就是要取代轮询和 Comet 技术”?,
我也很难找到国内知名网站用这个的,所以我想了解下是不是这 websocket 技术本身的原因。
watzds
2018-11-12 18:48:58 +08:00
很多年了,我 14 年用过
gerrard000
2018-11-12 18:51:24 +08:00
阿里网页版的钉钉用的就是 ws
vanishcode
2018-11-12 18:57:38 +08:00
轮训对于意外中断的处理比 ws 好吧(简单)肯定
rogwan
2018-11-12 19:08:46 +08:00
@a523 一些 web 应用不采用 ws 有一个原因是多页面重开,你想想,同时打开几十个淘宝页面就是几十个 ws 连接,这个比较难处理。不像客户端,登录一个可以踢掉另一个,在 web 上这种情况很普遍,轮询处理简单很多。
bjfane
2018-11-12 19:40:54 +08:00
看什么产品,非固定浏览器,Socket.io 还是可以的。
feverzsj
2018-11-12 19:47:31 +08:00
因为 99%的业务场景只需要无状态的请求回复就可以了
frankkai
2018-11-12 19:59:45 +08:00
mqtt
dszhblx
2018-11-12 20:02:02 +08:00
看你做什么了,H 5 游戏,微信小游戏都是 ws,确切说是 wss
kslr
2018-11-12 20:05:31 +08:00
请使用英文关键词
不过这个东西比轮询复杂多了,量力而行
anonymous256
2018-11-12 20:24:44 +08:00
我们就是 websocket 的, 用 python 和 golang 各一套实现。负责程序后端和用户界面交互~
514656282
2018-11-13 06:17:03 +08:00
很少看到有人用 websocket 是怎样得出来的?
a523
2018-11-16 17:46:40 +08:00
@514656282 按 F12
a523
2018-11-16 17:51:43 +08:00
@rogwan 好像有道理, 阿里网页版的钉钉是用的 ws, 然后我另开一个页面, 就会提醒我登录, 登录之后, 就会把之前的给踢掉。
a523
2018-11-16 17:53:28 +08:00
@gerrard000 谢谢提供信息, 我看了一下,网页版钉钉的确是 ws, 但不支持在多个页面登录, 登录第二个页面就把之前的给踢掉了
xjbeta
2018-11-23 10:39:47 +08:00
@fxxkgw
虎牙 b 站 熊猫 直播弹幕都是用的 websocket
斗鱼 是 socket
只有企鹅电竞是 1 秒 1 个网络请求

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/506933

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX