Я спорю о том, как сопоставить структуру User с дескриптором файла сокета. Я рассматривал вопрос о сохранении массива указателей void размера MAX_CONNECTIONS и сохранении указателя в качестве значения ключа дескриптора файла.
Проблема, с которой я сталкиваюсь, заключается в том, как я планирую обращаться с получателями. В настоящее время я вызываю pipe()
для создания канала, а затем fork()
процесс для обработки recv
. Я бы, вероятно, тоже хотел бы отследить их, чтобы справиться.
Что я сейчас делаю, это перебираю связанный список пользователей, нахожу тот, который соответствует дескриптору, и оттуда
Вопрос: Это эффективный и / или приемлемый метод сопоставления сокетов пользователям, подключенным к ним, или я должен практиковать какой-то другой вид вуду?
Я ценю любые усилия, направленные на решение моей (вероятно, бессмысленной) дилеммы.