Я не могу помочь вам с библиотеками C - не моя сильная сторона, но, похоже, что-то там должно быть.
Но похоже, что в части 2 вы пытаетесь предотвратить DOS, а не вызвать его!
Проверьте здесь:
http://en.wikipedia.org/wiki/Denial-of-service_attack
для вещей на DoS-атаках. Как говорит PP, существует ряд атак, связанных с неправильным использованием соединений, поэтому вы хотите выяснить, о чем идет речь в вашем назначении - то, которое вам нужно проверить у своего проф. Например, на странице Wiki выше упоминается SYN Floods - но почти любой протокол, ориентированный на соединение, будет подвержен риску атаки, которая наполняет пул соединений слишком большим количеством запросов на соединение и затем никогда не закрывает их.
Я предполагаю, читая задание, что ваша задача - выяснить, как это исправить, закрыв соединения, которые открыл злоумышленник. Это означает, что вы оба должны выяснить, как работает атака, а затем выяснить, как от нее избавиться.
СОВЕТ: попадание на сервер с потоком запросов на закрытое соединение не является атакой. Это не так полезно, так как вы не обязательно закрываете открытые соединения. Но ущерб причинен запросами открытого соединения. Смотрите здесь:
http://en.wikipedia.org/wiki/SYN_flood
Для одного примера.