gpt4 book ai didi

c++ - 在 Boost.Asio 请求期间检测中止的连接

转载 作者:可可西里 更新时间:2023-11-01 02:45:04 31 4
gpt4 key购买 nike

<分区>

Possible Duplicate:
How to check if socket is closed in Boost.Asio?

在asio框架中是否有一种既定的方法可以在不发送任何数据的情况下确定TCP连接的另一端是否关闭?

将 Boost.asio 用于服务器进程,如果客户端在服务器响应请求之前超时或以其他方式断开连接,则服务器在完成请求并生成要发送的响应之前不会发现这一点,当发送立即产生连接中止错误时。

对于一些长时间运行的请求,这可能导致客户端取消并一遍又一遍地重试,堆积并行运行的同一请求的许多实例,使它们花费更长的时间并“滚雪球”成雪崩,使服务器无法使用。本质上,反复按 F5 是拒绝服务攻击。

不幸的是,在请求完成之前我无法开始发送响应,因此“流式传输”结果不是一种选择,我需要能够在请求处理期间的关键点进行检查,如果客户放弃了。

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com