当前在线人数14836
首页 - 分类讨论区 - 电脑网络 - 葵花宝典版 - 同主题阅读文章

此篇文章共收到打赏
0

  • 10
  • 20
  • 50
  • 100
您目前伪币余额:0
未名交友
[更多]
[更多]
请问Websocket和普通TCP究竟有多大差异?
[版面:葵花宝典][首篇作者:minquan] , 2018年10月12日03:16:49 ,1408次阅读,45次回复
来APP回复,赚取更多伪币 关注本站公众号:
[首页] [上页][下页][末页] [分页:1 2 3 ]
minquan
进入未名形象秀
我的博客
[回复] [回信给作者] [本篇全文] [本讨论区] [修改] [删除] [转寄] [转贴] [收藏] [举报] [ 1 ]

发信人: minquan (三民主义), 信区: Programming
标  题: 请问Websocket和普通TCP究竟有多大差异?
发信站: BBS 未名空间站 (Fri Oct 12 03:16:49 2018, 美东)

有人说websocket纯粹就是为了纠正http把tcp缩编成客户问服务器答的缺陷而找补的

又有人说websocket是比tcp多了一层标记消息自动分包的协议

还有人说websocket是异步的,而tcp是同步的

前两个肯定都对,我的问题在第三者是否正确?

如果正确,是不是说明websocket可以在底层换用其它的tcp通路?

那么这是否说明websocket能用分布式的网路传输cdn,而普通tcp做不到?

我知道MultiPath TCP就是多路TCP,改成异步了,因为多路不可能保证包到达的时间完
全按顺序。
这是否暗示了普通TCP就是单路且同步传输的?

我推理这样TCP是绝对不可能在网络拥塞时换条线路进行传输的,因为是单路固定好的

--
※ 来源:·WWW 未名空间站 网址:mitbbs.com 移动:在应用商店搜索未名空间·[FROM: 72.]

 
TeacherWei
进入未名形象秀
我的博客
[回复] [回信给作者] [本篇全文] [本讨论区] [修改] [删除] [转寄] [转贴] [收藏] [举报] [ 2 ]

发信人: TeacherWei (TW), 信区: Programming
标  题: Re: 请问Websocket和普通TCP究竟有多大差异?
发信站: BBS 未名空间站 (Fri Oct 12 09:40:24 2018, 美东)

你不要挖坟了,自己读一下spec啥都有了。
https://tools.ietf.org/html/rfc6455

--
※ 来源:·WWW 未名空间站 网址:mitbbs.com 移动:在应用商店搜索未名空间·[FROM: 74.]

 
minquan
进入未名形象秀
我的博客
[回复] [回信给作者] [本篇全文] [本讨论区] [修改] [删除] [转寄] [转贴] [收藏] [举报] [ 3 ]

发信人: minquan (三民主义), 信区: Programming
标  题: Re: 请问Websocket和普通TCP究竟有多大差异?
发信站: BBS 未名空间站 (Fri Oct 12 09:48:49 2018, 美东)

魏老师,你好!

我现在要做一个向客户端推送行情的服务
http肯定是不合适的
现在有两个软件开发商
一个说用TCP好,简单直接
另一个说Websocket好,更先进好用

请问如果你做选择,选择哪个?

【 在 TeacherWei (TW) 的大作中提到: 】
: 你不要挖坟了,自己读一下spec啥都有了。
: https://tools.ietf.org/html/rfc6455



--
※ 来源:·WWW 未名空间站 网址:mitbbs.com 移动:在应用商店搜索未名空间·[FROM: 72.]

 
TeacherWei
进入未名形象秀
我的博客
[回复] [回信给作者] [本篇全文] [本讨论区] [修改] [删除] [转寄] [转贴] [收藏] [举报] [ 4 ]

发信人: TeacherWei (TW), 信区: Programming
标  题: Re: 请问Websocket和普通TCP究竟有多大差异?
发信站: BBS 未名空间站 (Fri Oct 12 09:51:00 2018, 美东)

我会三个都实现一遍。这样才能穿透最厉害的防火墙。

【 在 minquan (三民主义) 的大作中提到: 】
: 魏老师,你好!
: 我现在要做一个向客户端推送行情的服务
: http肯定是不合适的
: 现在有两个软件开发商
: 一个说用TCP好,简单直接
: 另一个说Websocket好,更先进好用
: 请问如果你做选择,选择哪个?



--
※ 来源:·WWW 未名空间站 网址:mitbbs.com 移动:在应用商店搜索未名空间·[FROM: 74.]

 
minquan
进入未名形象秀
我的博客
[回复] [回信给作者] [本篇全文] [本讨论区] [修改] [删除] [转寄] [转贴] [收藏] [举报] [ 5 ]

发信人: minquan (三民主义), 信区: Programming
标  题: Re: 请问Websocket和普通TCP究竟有多大差异?
发信站: BBS 未名空间站 (Fri Oct 12 09:52:00 2018, 美东)

如果只能用一个呢?

【 在 TeacherWei (TW) 的大作中提到: 】
: 我会三个都实现一遍。这样才能穿透最厉害的防火墙。



--
※ 来源:·WWW 未名空间站 网址:mitbbs.com 移动:在应用商店搜索未名空间·[FROM: 72.]

 
TeacherWei
进入未名形象秀
我的博客
[回复] [回信给作者] [本篇全文] [本讨论区] [修改] [删除] [转寄] [转贴] [收藏] [举报] [ 6 ]

发信人: TeacherWei (TW), 信区: Programming
标  题: Re: 请问Websocket和普通TCP究竟有多大差异?
发信站: BBS 未名空间站 (Fri Oct 12 09:53:48 2018, 美东)

照理说websocket好一些。这里边变量太多。比如你的技术路线选择,客户需求,目标
平台等等。。。

【 在 minquan (三民主义) 的大作中提到: 】
: 如果只能用一个呢?



--
※ 来源:·WWW 未名空间站 网址:mitbbs.com 移动:在应用商店搜索未名空间·[FROM: 74.]

 
minquan
进入未名形象秀
我的博客
[回复] [回信给作者] [本篇全文] [本讨论区] [修改] [删除] [转寄] [转贴] [收藏] [举报] [ 7 ]

发信人: minquan (三民主义), 信区: Programming
标  题: Re: 请问Websocket和普通TCP究竟有多大差异?
发信站: BBS 未名空间站 (Fri Oct 12 10:00:12 2018, 美东)

就是每秒向各客户各推一个按照行情生成的策略数据包,可能有上千个数那种,不会上万
这个服务是金融行情服务,因此非常的讨厌延迟,需要网络稳定可靠
还要加密,因为是客户订制策略,不想让其它人知道

客户那里用客户端
我最近还听说cdn还会提速
好像cdn并不直接支持普通TCP
所以可能还是websocket

【 在 TeacherWei (TW) 的大作中提到: 】
: 照理说websocket好一些。这里边变量太多。比如你的技术路线选择,客户需求,目标
: 平台等等。。。



--
※ 来源:·WWW 未名空间站 网址:mitbbs.com 移动:在应用商店搜索未名空间·[FROM: 72.]

 
minquan
进入未名形象秀
我的博客
[回复] [回信给作者] [本篇全文] [本讨论区] [修改] [删除] [转寄] [转贴] [收藏] [举报] [ 8 ]

发信人: minquan (三民主义), 信区: Programming
标  题: Re: 请问Websocket和普通TCP究竟有多大差异?
发信站: BBS 未名空间站 (Fri Oct 12 10:02:14 2018, 美东)

现在你的意见是?
--
※ 来源:·WWW 未名空间站 网址:mitbbs.com 移动:在应用商店搜索未名空间·[FROM: 72.]

 
pptwo
进入未名形象秀
我的博客
[回复] [回信给作者] [本篇全文] [本讨论区] [修改] [删除] [转寄] [转贴] [收藏] [举报] [ 9 ]

发信人: pptwo (pp), 信区: Programming
标  题: Re: 请问Websocket和普通TCP究竟有多大差异?
发信站: BBS 未名空间站 (Fri Oct 12 10:09:19 2018, 美东)

每秒推送 vs 讨厌延迟, 这两个是怎么拼到一起的...

【 在 minquan (三民主义) 的大作中提到: 】
: 就是每秒向各客户各推一个按照行情生成的策略数据包,可能有上千个数那种,不会
上万
: 这个服务是金融行情服务,因此非常的讨厌延迟,需要网络稳定可靠
: 还要加密,因为是客户订制策略,不想让其它人知道
: 客户那里用客户端
: 我最近还听说cdn还会提速
: 好像cdn并不直接支持普通TCP
: 所以可能还是websocket



--

※ 来源:·BBS 未名空间站 网址:mitbbs.com 移动:在应用商店搜索未名空间·[FROM: 108.]

 
TeacherWei
进入未名形象秀
我的博客
[回复] [回信给作者] [本篇全文] [本讨论区] [修改] [删除] [转寄] [转贴] [收藏] [举报] [ 10 ]

发信人: TeacherWei (TW), 信区: Programming
标  题: Re: 请问Websocket和普通TCP究竟有多大差异?
发信站: BBS 未名空间站 (Fri Oct 12 10:17:35 2018, 美东)

这玩意儿是给人看的和给机器看的,要求完全不一样。
给人看的就是骗人眼睛,什么延迟之类都是扯淡。
给机器看的,每秒推送和讨厌延迟是矛盾的。你要有个指标才行。我做过的系统延迟都
是个位数微秒。1微秒是百万分之一秒。
这两种系统实现完全不一样。给人看的,你的flow control要做好。
--
※ 来源:·WWW 未名空间站 网址:mitbbs.com 移动:在应用商店搜索未名空间·[FROM: 74.]

 
minquan
进入未名形象秀
我的博客
[回复] [回信给作者] [本篇全文] [本讨论区] [修改] [删除] [转寄] [转贴] [收藏] [举报] [ 11 ]

发信人: minquan (三民主义), 信区: Programming
标  题: Re: 请问Websocket和普通TCP究竟有多大差异?
发信站: BBS 未名空间站 (Fri Oct 12 11:02:42 2018, 美东)

讨厌延迟,是那种无理由莫名其妙的卡顿

每秒推送,就是稳定的每秒能收到刷新数据

这个不矛盾

我是指讨厌由于网络拥塞那种一下卡十秒的延迟

我给客户只要把延迟压缩在1秒以内,而且刷新非常稳定,就算过关

不要求特别高的实时性

【 在 TeacherWei (TW) 的大作中提到: 】
: 这玩意儿是给人看的和给机器看的,要求完全不一样。
: 给人看的就是骗人眼睛,什么延迟之类都是扯淡。
: 给机器看的,每秒推送和讨厌延迟是矛盾的。你要有个指标才行。我做过的系统延迟都
: 是个位数微秒。1微秒是百万分之一秒。
: 这两种系统实现完全不一样。给人看的,你的flow control要做好。



--
※ 来源:·WWW 未名空间站 网址:mitbbs.com 移动:在应用商店搜索未名空间·[FROM: 72.]

 
minquan
进入未名形象秀
我的博客
[回复] [回信给作者] [本篇全文] [本讨论区] [修改] [删除] [转寄] [转贴] [收藏] [举报] [ 12 ]

发信人: minquan (三民主义), 信区: Programming
标  题: Re: 请问Websocket和普通TCP究竟有多大差异?
发信站: BBS 未名空间站 (Fri Oct 12 11:07:46 2018, 美东)

我指的延迟特指故障

例如一下卡十秒,等不到刷新消息

或者默默的掉线了,而等了很久都没发现

【 在 pptwo (pp) 的大作中提到: 】
: 每秒推送 vs 讨厌延迟, 这两个是怎么拼到一起的...
: 上万



--
※ 来源:·WWW 未名空间站 网址:mitbbs.com 移动:在应用商店搜索未名空间·[FROM: 72.]

 
TeacherWei
进入未名形象秀
我的博客
[回复] [回信给作者] [本篇全文] [本讨论区] [修改] [删除] [转寄] [转贴] [收藏] [举报] [ 13 ]

发信人: TeacherWei (TW), 信区: Programming
标  题: Re: 请问Websocket和普通TCP究竟有多大差异?
发信站: BBS 未名空间站 (Fri Oct 12 12:04:10 2018, 美东)

告诉你的办法:
1. 假定用户只需要最新的数据,价格,信号。。。
2. 每个连接每次只传输更新过的数据
3. 用户收到每个批次更新以后,要发送一个ACK消息
4. 发送方只有收到ACK消息以后,才发送下一批
5. 发送方可以人为增加延迟(比如最长间隔1s),这样会节约一些带宽。但是不能硬
发送。只能等收到ACK再送下一批
6. 这个方法是自适应的。而且是best effort。不能做的比这个更好了



--
※ 来源:·WWW 未名空间站 网址:mitbbs.com 移动:在应用商店搜索未名空间·[FROM: 74.]

 
TeacherWei
进入未名形象秀
我的博客
[回复] [回信给作者] [本篇全文] [本讨论区] [修改] [删除] [转寄] [转贴] [收藏] [举报] [ 14 ]

发信人: TeacherWei (TW), 信区: Programming
标  题: Re: 请问Websocket和普通TCP究竟有多大差异?
发信站: BBS 未名空间站 (Fri Oct 12 12:15:18 2018, 美东)

7. 忘了说了,发送方设置最大延迟,超时如果没有更新,也要发个heart beat。接收
方2 X MAX_TO没收到任何消息就重连接
--
※ 来源:·WWW 未名空间站 网址:mitbbs.com 移动:在应用商店搜索未名空间·[FROM: 74.]

 
guvest
进入未名形象秀
我的博客
[回复] [回信给作者] [本篇全文] [本讨论区] [修改] [删除] [转寄] [转贴] [收藏] [举报] [ 15 ]

发信人: guvest (我爱你老婆Anna), 信区: Programming
标  题: Re: 请问Websocket和普通TCP究竟有多大差异?
发信站: BBS 未名空间站 (Fri Oct 12 12:25:56 2018, 美东)

他这个就是典型的你说的骗人眼睛的吧。高速传数据。网络条件好的时候多穿点cache
起来。然后本地慢速刷新。这样就骗过去了。

这样可以吗?我拍脑袋想的。
【 在 TeacherWei(TW) 的大作中提到: 】
<br>: 7. 忘了说了,发送方设置最大延迟,超时如果没有更新,也要发个heart
beat
。接收
<br>: 方2 X MAX_TO没收到任何消息就重连接
<br>

--
※ 修改:·guvest 於 Oct 12 12:26:25 2018 修改本文·[FROM: 2607:fb90:1cd8:2]
※ 来源:· 未名空间站 网址:mitbbs.com 移动:在应用商店搜索未名空间·[FROM: 2607:fb90:1cd8:]

 
TeacherWei
进入未名形象秀
我的博客
[回复] [回信给作者] [本篇全文] [本讨论区] [修改] [删除] [转寄] [转贴] [收藏] [举报] [ 16 ]

发信人: TeacherWei (TW), 信区: Programming
标  题: Re: 请问Websocket和普通TCP究竟有多大差异?
发信站: BBS 未名空间站 (Fri Oct 12 12:43:40 2018, 美东)

抱歉,拍脑袋想的不是很对。

就是总是传最新的状态,网络条件好的时候,可以传快点;条件不好,就慢点,丢几个
更新就丢了,最新的价格才最重要。

就算网络条件再好,传太快了也没啥用。1微秒一个更新,和100毫秒一个更新,差10万
倍,对人有区别么?没有。所有可以适当限速。

客户端要有办法知道网络不好了,别傻等,要及时重连接。

【 在 guvest (我爱你老婆Anna) 的大作中提到: 】
: 他这个就是典型的你说的骗人眼睛的吧。高速传数据。网络条件好的时候多穿点
cache
: 起来。然后本地慢速刷新。这样就骗过去了。
: 这样可以吗?我拍脑袋想的。
: <br>: 7. 忘了说了,发送方设置最大延迟,超时如果没有更新,也要发个heart
:  beat
: 。接收
: <br>: 方2 X MAX_TO没收到任何消息就重连接
: <br>



--
※ 来源:·WWW 未名空间站 网址:mitbbs.com 移动:在应用商店搜索未名空间·[FROM: 74.]

 
guvest
进入未名形象秀
我的博客
[回复] [回信给作者] [本篇全文] [本讨论区] [修改] [删除] [转寄] [转贴] [收藏] [举报] [ 17 ]

发信人: guvest (我爱你老婆Anna), 信区: Programming
标  题: Re: 请问Websocket和普通TCP究竟有多大差异?
发信站: BBS 未名空间站 (Fri Oct 12 13:53:50 2018, 美东)



【 在 TeacherWei (TW) 的大作中提到: 】
: 抱歉,拍脑袋想的不是很对。
: 就是总是传最新的状态,网络条件好的时候,可以传快点;条件不好,就慢点,丢几个
: 更新就丢了,最新的价格才最重要。
: 就算网络条件再好,传太快了也没啥用。1微秒一个更新,和100毫秒一个更新,差10万
: 倍,对人有区别么?没有。所有可以适当限速。
: 客户端要有办法知道网络不好了,别傻等,要及时重连接。
: cache


我的意思是说。他的要求不是防止卡死吗。
那就确保1秒钟都有更新。别管是什数了。

例如你cache里面有100个数。
每次只显示第一个数。卡死的时候显示第二个。
来个假更新。好过让客户等。


--
※ 修改:·guvest 於 Oct 12 13:54:38 2018 修改本文·[FROM: 38.]
※ 来源:·WWW 未名空间站 网址:mitbbs.com 移动:在应用商店搜索未名空间·[FROM: 38.]

 
TeacherWei
进入未名形象秀
我的博客
[回复] [回信给作者] [本篇全文] [本讨论区] [修改] [删除] [转寄] [转贴] [收藏] [举报] [ 18 ]

发信人: TeacherWei (TW), 信区: Programming
标  题: Re: 请问Websocket和普通TCP究竟有多大差异?
发信站: BBS 未名空间站 (Fri Oct 12 14:02:59 2018, 美东)

假更新那是祸害用户啊。要是用户用假价钱下单,有了损失,可能会让你赔钱。

我的算法是如果用户带宽足够,保证能够及时得到数据,甚至最大延迟都能保证不超过。

如果带宽不够,那也能得到更新,延迟要大一点,但是也没办法。而且更新保证是在有
限的带宽下能拿到的最新的数据了。

即使用户的带宽只剩下需要带宽的1%。那么可能用户得到的数据是100秒以前的。但是
没办法,谁让你带宽低呢?有数据就不错了。反正我们尽力了。We took best effort
...

【 在 guvest (我爱你老婆Anna) 的大作中提到: 】
: 我的意思是说。他的要求不是防止卡死吗。
: 那就确保1秒钟都有更新。别管是什数了。
: 例如你cache里面有100个数。
: 每次只显示第一个数。卡死的时候显示第二个。
: 来个假更新。好过让客户等。



--
※ 来源:·WWW 未名空间站 网址:mitbbs.com 移动:在应用商店搜索未名空间·[FROM: 74.]

 
walkrandom
进入未名形象秀
我的博客
[回复] [回信给作者] [本篇全文] [本讨论区] [修改] [删除] [转寄] [转贴] [收藏] [举报] [ 19 ]

发信人: walkrandom (walkrandom), 信区: Programming
标  题: Re: 请问Websocket和普通TCP究竟有多大差异?
发信站: BBS 未名空间站 (Fri Oct 12 19:34:26 2018, 美东)

最近在搞Websocket。
这玩意不是request/response model. 收不收到信息不确定。这样就麻烦了。
就是一个http的长链接,http的缺点全都有。
推荐grpc。基于http2,安全高速。

--
※ 来源:·WWW 未名空间站 网址:mitbbs.com 移动:在应用商店搜索未名空间·[FROM: 96.]

 
TeacherWei
进入未名形象秀
我的博客
[回复] [回信给作者] [本篇全文] [本讨论区] [修改] [删除] [转寄] [转贴] [收藏] [举报] [ 20 ]

发信人: TeacherWei (TW), 信区: Programming
标  题: Re: 请问Websocket和普通TCP究竟有多大差异?
发信站: BBS 未名空间站 (Fri Oct 12 21:41:22 2018, 美东)

这个行业里,最恶心的就是那些所谓引领行业的人都是脑袋里面进了屎。

这个世界是基于消息的(message),不是基于request/response的。把啥烂玩意儿都
做成request/response还能振振有词去吹牛扯淡,不是无知,而是无耻了。

这帮孙子挖个烂坑让你们都跳进去。然后就他们手里有点奇货可居了。

【 在 walkrandom (walkrandom) 的大作中提到: 】
: 最近在搞Websocket。
: 这玩意不是request/response model. 收不收到信息不确定。这样就麻烦了。
: 就是一个http的长链接,http的缺点全都有。
: 推荐grpc。基于http2,安全高速。



--
※ 来源:·WWW 未名空间站 网址:mitbbs.com 移动:在应用商店搜索未名空间·[FROM: 74.]

[首页] [上页][下页][末页] [分页:1 2 3 ]
[快速返回] [ 进入葵花宝典讨论区] [返回顶部]
回复文章
标题:
内 容:

未名交友
将您的链接放在这儿

友情链接


 

Site Map - Contact Us - Terms and Conditions - Privacy Policy

版权所有,未名空间(mitbbs.com),since 1996