java - 使用 EventBus 时处理 Vert.x NetSocket writeQueueFull

标签 java sockets vert.x

Vert.x documentation ,它显示了写入已满套接字的模式。

NetServer server = vertx.createNetServer(
    new NetServerOptions().setPort(1234).setHost("localhost")
);
server.connectHandler(sock -> {
  sock.handler(buffer -> {
    sock.write(buffer);
    if (sock.writeQueueFull()) {
      sock.pause();
      sock.drainHandler(done -> {
        sock.resume();
      });
    }
  });
}).listen();

如果您通过 EventBus 从不同的 Verticle 写入套接字,如何实现此模式?

一个例子:

vertx.eventBus().publish(writeHandlerID, buffer);

最佳答案

从 Vert.x 3.5.1 开始,EventBus 不支持背压。计划在下一版本中在 EventBus 和 websockets 之上实现带有背压的流式传输。

关于java - 使用 EventBus 时处理 Vert.x NetSocket writeQueueFull,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50003087/

相关文章:

java - dataset .net 无法在 java web 服务客户端上解析

c - UDP 非阻塞写入失败

java - 陷入SocketInputStream.socketRead0

java - Vert.x事件循环与单线程

java - Vert.X SLF4J 日志记录

java - 在餐厅 OOP 程序中添加菜单小计

java - 如何解决ArrayList排序错误?

java - 在 Tomcat 上部署后显示应用程序上下文路径

spring - 使用 Spring Integration Issues 配置 TCP 通信

mockito - 使用 vert.x rxjava2 和 Mockito 模拟 http 响应