websocket 在接收数据时是否消耗出站数据流量?

Does a websocket spend outbound data traffic when receiving data?

假设我们的服务器和远程服务器之间建立了 websocket 连接,并且远程服务器不时向我们发送一些数据。

那么我们的 websocket 连接在接收数据时是否会花费 outbound 数据流量? 我的猜测是它不会,因为接收数据会累积在内存中。因此,当您执行 .recv() 时,websocket 只是从本地内存中提取数据,而不会向其他服务器发送任何内容。这是正确的吗?

在 Web 套接字协议级别,接收服务器可能每隔几分钟向原始客户端发送一条 ping 消息,原始客户端以 pong.[=13= 响应]

所以,几十个字节pong的消息每隔一段时间就回流一次

在 TCP/IP 层,接收服务器用一个 ACK​​ 数据包响应每个第二个传入数据包,包含 30 个字节。传入的数据包最多可以携带 1460 字节的有效负载数据加上 30 字节。

因此,反向数据传输量最小,但不为零。

如果你必须有零反向传输你需要使用数据报协议。但是数据报协议是有损的:无法恢复丢失的数据报。