我有一个Vert.x NetServer,接受一个来自客户端的连接,假设我暂停了套接字ReadStream,那么我将不会收到任何来自连接的缓冲区,同时,假设客户端继续发送消息,我想知道是否可以反压客户端获得停止而不是继续发送?如果不可能,那么这些传入的数据存储在哪里,我可以检查有多少数据已经进入但没有被读取吗?
任何帮助都很感激。
看来你所有的问题都已经在官方文档中解决了。
https:/vertx.iodocsvertx-corejava#streams
收到的消息会被存储在写入队列中。如果写队列满了,你可以使用 pause()
方法,并恢复与 resume()
方法。
或者,这在文档中也有介绍,你可以使用 Pipe
为你处理这个问题。