首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >猛兽SSL连接优雅关闭

猛兽SSL连接优雅关闭
EN

Stack Overflow用户
提问于 2022-06-28 14:28:07
回答 1查看 58关注 0票数 1

我正在实现一个HTTPS客户端,它试图从服务器读取信息。在其工作期间,可以请求关机。它可以用以下代码表示:

代码语言:javascript
复制
        http::async_read( stream_, buffer_, res_,
                          beast::bind_front_handler(
                                  &session::on_read,
                                  shared_from_this()));
        beast::get_lowest_layer( stream_ ).cancel();

一旦读取被取消(调用on_read时,操作取消错误),我将调用

代码语言:javascript
复制
stream_.async_shutdown([t = shared_from_this()] ( beast::error_code ec ) {
            t->on_shutdown(ec);
        });

关机结束时会出现以下错误:

代码语言:javascript
复制
application data after close notify

问题是忽略这个错误是否安全?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-06-28 15:08:53

您可以忽略此错误。如果服务器并发发送数据--在收到关闭通知之前异步发送应用程序数据块,就会发生这种情况。

代码语言:javascript
复制
stream_.async_shutdown([t = shared_from_this()] ( beast::error_code ec ) {
    if (ec ...)  // add proper condition here
        ec = beast::error_code(success);
    t->on_shutdown(ec);
});

我还会在会话中添加一些标志,并在取消之前设置它,这样session::on_read就不会意外,可以在关闭后被忽略。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72788311

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档