如何对TCP客户端进行反压

问题描述 投票:0回答:1

我有一个Vert.x NetServer,接受一个来自客户端的连接,假设我暂停了套接字ReadStream,那么我将不会收到任何来自连接的缓冲区,同时,假设客户端继续发送消息,我想知道是否可以反压客户端获得停止而不是继续发送?如果不可能,那么这些传入的数据存储在哪里,我可以检查有多少数据已经进入但没有被读取吗?

任何帮助都很感激。

vert.x
1个回答
0
投票

看来你所有的问题都已经在官方文档中解决了。

https:/vertx.iodocsvertx-corejava#streams

收到的消息会被存储在写入队列中。如果写队列满了,你可以使用 pause() 方法,并恢复与 resume() 方法。

或者,这在文档中也有介绍,你可以使用 Pipe 为你处理这个问题。

© www.soinside.com 2019 - 2024. All rights reserved.