当我使用Windows套接字中的recv函数时,使用recv会导致拒绝服务攻击吗?如果它永远等待数据怎么办?那么解决这个问题的最佳方法是什么(警报?)。
谢谢和问候,
Mousey。
谢谢和问候,
Mousey。
是的,recv()
可能会无限期地阻塞。您需要实现某种形式的超时。
我建议使用 boost asio 库。它包括与套接字连接和接收事件无缝配合工作的计时器等内容。只需设置异步套接字、添加计时器,并在时间耗尽时中断即可。
这仍然不能使您免受 DoS 攻击的影响,因为在超时窗口期间仍可能出现大量请求。但如果将超时时间设置得很短,则可能有所帮助。