【问题标题】:Reactor TcpServer drop incoming connectionReactor TcpServer 丢弃传入连接
【发布时间】:2021-05-01 22:48:35
【问题描述】:

拒绝/丢弃与 Reactor TcpServer 的传入连接的正确方法是什么?

我目前有以下:

TcpServer.create()
  .doOnConnection {
     if (notAllowed(it.address()) {
        throw IllegalStateException("Connection from ${it.address()} denied")
     }
  }
  .handle(...)
  .bindNow()

它似乎正在工作,它成功地从我的notAllowed 列表中的远程地址断开连接。但是每次它都会将堆栈跟踪打印到控制台,而且总体上看起来不太好。

拒绝某些与 TcpServer 的连接的正确方法是什么?

【问题讨论】:

    标签: java spring project-reactor reactor-netty


    【解决方案1】:

    我建议你不要抛出IllegalStateException,只需调用Connection#dispose

    TcpServer.create()
             .doOnConnection {
                 if (notAllowed(it.address()) {
                     it.dispose()
                 }
             }
             .handle(...)
             .bindNow()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-28
      • 1970-01-01
      • 2011-07-07
      • 1970-01-01
      相关资源
      最近更新 更多