Вы, кажется, неправильно поняли, что означает отказ в обслуживании. Примером может служить большое количество HTTP-запросов к одному веб-серверу, поступающих с такой скоростью, что программное обеспечение веб-сервера становится настолько загруженным, что не может принимать новые TCP-соединения. В Википедии есть достойная статья о DoS , прочитайте ее.
recv(2)
это просто API. Злоупотребление этим, как и любая другая ошибка, может привести к проблемам, включая DoS. Но это не значит, что вы должны избегать этого. Если ваша проблема блокирует другие сокеты во время ожидания чтения, изучите неблокирующие сокеты и мультиплексирование ввода / вывода , как в select(2)
, poll(2)
и epoll(4)
.