reactor tcpserver丢弃传入连接

pdkcd3nj  于 2021-07-24  发布在  Java
关注(0)|答案(1)|浏览(399)

拒绝/断开到reactor tcpserver的传入连接的正确方法是什么?
我目前有以下情况:

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

它似乎在工作,它成功地从远程地址在我的连接 notAllowed 列表。但每次它都会将堆栈跟踪打印到控制台上,通常情况下看起来不太好。
拒绝与tcpserver的某些连接的正确方法是什么?

k5ifujac

k5ifujac1#

我建议你不要扔 IllegalStateException ,只需调用连接#dispose

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

相关问题