首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当websocket客户端太慢时,websocket将如何工作?

当websocket客户端太慢时,websocket将如何工作?
EN

Stack Overflow用户
提问于 2019-11-05 07:34:02
回答 2查看 4.8K关注 0票数 6

我有连接到远程服务器的websocket客户端。服务器每秒向我发送大量数据(~每秒10 000条短消息)。我如何理解我的websocket客户端将有时间读取所有传入的数据?或者服务器可以理解ws-客户端不读取所有数据,并将放弃连接?当ws-client太慢时,websocket协议将如何工作?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-11-05 09:55:02

底层的websocket传输是TCP,协调不同发送和接收速率的主题称为流控制(它是TCP层的一个特性),这个特定的问题被称为“慢速使用者”(并且在通过TCP发送大量数据(例如金融市场数据)时很常见)。

TCP层允许在通信链路的某些点缓冲,以便如果读取器无法跟上服务器发送的字节,则可以将字节暂时存储在这些缓冲区中(直到客户端能够处理它们)。读取器端和发送方都可以有缓冲区,通常与套接字相关联。然而,这些通常是固定的大小。一旦这些缓冲区已满,服务器在下一次尝试发送一些字节时将面临一个选择:要么放弃连接,要么等待(“块”)直到缓冲区中有空间发送更多字节。

因此,真正的服务器决定,我猜它很可能会放弃连接(否则的风险是,越来越多的内存被消耗在服务器上,因为完全的套接字缓冲区)。

票数 6
EN

Stack Overflow用户

发布于 2021-06-20 15:02:32

通常,websocket客户端响应是而不是慢。为什么您的方法慢,请检查等待方法,不要在中放置等待方法,而True循环

如果将放置在等待上,则响应时间也太长太慢。您可以进行测试,我建议也可以删除、等待方法和编写示例代码,我将看到websocket 客户端有多快。哈哈

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58706503

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档