Понадобилось тут вдруг у одного проекта переписать его сетевую часть, т.к. старая не справлялась, долго искал в инете примеры реализации, но увы безуспешно, поэтому и дал себе обещание написать об этом в блоге. Статья предназначена для тех кто уже имеет представление о сетевом программировании на Си.
Задачи:
Задачи:
- Сервер должен иметь реализацию сокетов через libev
- Сокеты должны быть не блокирующими (non-blocking)
- Должно быть N нитей (pthread), которые независимо будут слать сообщения всем подключенным клиентам
- Как минимум, не гнутся от DoS`елки по типу slowloris.