Я работаю над клиентом мгновенных сообщений в C++ (Win32), и я экспериментирую с разными асинхронными типами сокетов. До сих пор я использовал WSAAsyncSelect для получения уведомлений через мое главное окно. Тем не менее, у меня были некоторые неожиданные результаты, когда Winsock выпускал дополнительно 5-6 потоков (помимо начального потока, созданного при вызове WSAAsyncSelect) для одного сокета.Наиболее подходящая модель асинхронного сокета для клиента мгновенного обмена сообщениями?
У меня есть планы по обновлению клиента для поддержки дополнительных протоколов через DLL: s, и я боюсь, что мое текущее решение не будет подходящим, основываясь на моем опыте с WSAAsyncSelect, помимо того, что я отрицательно отношусь к микшированию сети с помощью UI (в контуре сообщения).
Я ищу совет о том, какая подходящая модель асинхронного сокета может быть для многопротокольного IM-клиента, который должен иметь возможность обрабатывать примерно 10-20 + соединений (в зависимости от количества протоколов и протокола и т. д.), не используя чрезмерное количество потоков - я очень заинтересован в производительности и сокращении использования ресурсов.
Я искал порты ввода-вывода IO, но из того, что я собрал, это кажется излишним. Я бы очень признателен за то, что может быть подходящим решением для сокетов!
Заранее благодарен! :-)
# Джеффри Рихтер AysncEnumerator # ничего себе !!! – divinci