【问题标题】:How to close TCP connection after time out connection?超时连接后如何关闭TCP连接?
【发布时间】:2022-01-20 03:44:36
【问题描述】:
HttpClient httpClient= HttpClient.create().tcpConfiguration(tcpClient -> {
    tcpClient.option(ChannelOption.SO_KEEPALIVE, true);
    tcpClient.option(EpollChannelOption.TCP_KEEPIDLE, 120);
    tcpClient.option(EpollChannelOption.TCP_KEEPINTVL, 10);
    tcpClient.option(EpollChannelOption.TCP_KEEP, 6);
            return tclClient;
          })
           .secure(t -> t.sslContext(context));

此代码正在创建一个 10 分钟的 TCP 连接。之后,我想在发生 TimeOutException 时从应用程序端关闭 TCP 连接。怎么办?

【问题讨论】:

    标签: java spring spring-boot tcp


    【解决方案1】:

    在 try catch 块之后,只需使用 finally 块并关闭您的连接:

    try {
        ...
    } catch (TimeOutException exp) {
        ...
    } finally {
        ...
        connection.close();
        ...
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-06-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-03
      • 2023-03-27
      相关资源
      最近更新 更多