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 字节。
因此,反向数据传输量最小,但不为零。
如果你必须有零反向传输你需要使用数据报协议。但是数据报协议是有损的:无法恢复丢失的数据报。
假设我们的服务器和远程服务器之间建立了 websocket 连接,并且远程服务器不时向我们发送一些数据。
那么我们的 websocket 连接在接收数据时是否会花费 outbound 数据流量?
我的猜测是它不会,因为接收数据会累积在内存中。因此,当您执行 .recv()
时,websocket 只是从本地内存中提取数据,而不会向其他服务器发送任何内容。这是正确的吗?
在 Web 套接字协议级别,接收服务器可能每隔几分钟向原始客户端发送一条 ping
消息,原始客户端以 pong
.[=13= 响应]
所以,几十个字节pong
的消息每隔一段时间就回流一次
在 TCP/IP 层,接收服务器用一个 ACK 数据包响应每个第二个传入数据包,包含 30 个字节。传入的数据包最多可以携带 1460 字节的有效负载数据加上 30 字节。
因此,反向数据传输量最小,但不为零。
如果你必须有零反向传输你需要使用数据报协议。但是数据报协议是有损的:无法恢复丢失的数据报。