栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

分块WebSocket传输

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

分块WebSocket传输

首先,您需要在 浏览器中 区分WebSocket 协议 和WebSocket API 。 __

WebSocket协议的帧大小限制为2 ^ 63个八位位组,但是WebSocket消息可以由无限数量的帧组成。

浏览器中的WebSocket
API不会公开基于框架的API或流式API,而只会公开基于消息的API。传入消息的有效负载始终会被完全缓冲(在浏览器的WebSocket实现中),然后再将其提供给Javascript。

其他WebSocket实现的API可以提供对通过WebSocket协议传输的有效负载的基于帧或流的访问。例如,AutobahnPython就是这样做的。您可以在这里的示例中阅读更多内容https://github.com/tavendo/AutobahnPython/tree/master/examples/twisted/websocket/streaming。

披露:我是高速公路的原始作者,并且为Tavendo工作。

更多注意事项:

只要浏览器JS WebSocket API中没有框架/流API,您就只能接收/发送完整的WS消息。

单个(普通)WebSocket连接无法交错多个消息的有效负载。因此,例如,如果您使用大消息,则这些消息将按顺序传递,并且当大消息仍在运行时,您将无法在两次消息之间发送小消息。

WebSocket即将推出(扩展是扩展协议的内置机制):WebSocket复用。这允许在单个基础TCP连接上具有多个(逻辑)WebSocket连接,这具有多个优点。

另请注意:您可以从一个单一的JS / HTML页面打开多个WS连接(在不同的底层技术合作计划),以一台目标服务器 今天

另请注意:您可以在应用程序层中“分块”:以较小的WS消息发送您的内容,然后重新组装。

我同意,在理想的世界中,您将在浏览器中使用消息/框架/流API以及WebSocket复用。这将提供所有的功能和便利。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/436558.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号