У меня есть клиент чата во flash, использующий бинарные сокеты, и сервер в C / linux, использующий сокеты и libev. У меня все работает правильно для отправки и получения сообщений, но теперь я перешел к более сложному шагу.
Для моего сервера чата я буду группировать пользователей в группы по 15. Сервер должен иметь уникальный идентификатор для каждого пользователя и иметь возможность быстро определить, в какую группу входит пользователь, чтобы передать сообщение другим 14 пользователям. , Я думаю, что сервер мог бы использовать файловый дескриптор для каждого соединения с сокетом, поскольку все они должны быть уникальными.
Проблема заключается в следующем: вы получаете событие чтения, запускаемое из libev для определенного файлового дескриптора. Теперь вам нужно быстро определить, к какой группе принадлежит этот FD, и затем передать сообщение всем в группе. Какова лучшая структура данных для этой проблемы?