Я пишу сервер обмена мгновенными сообщениями на C # в учебных целях.Мой вопрос заключается в том, должен ли я использовать синхронные или асинхронные сокеты для обработки IM-клиентов.Цель состоит в том, чтобы обработать как можно больше клиентов.
Я не совсем уверен, но насколько я знаю, с асинхронными сокетами пакеты не приходят в порядке, что означает, что когда вы отправляете 2 сообщения чата и тамэто задержка / задержка, возможно, что второй прибудет раньше первого.Правильно ли это, и если да, есть ли способ решить эту проблему?
О сокетах синхронизации: Является ли синхронные сокеты хорошим решением для многих клиентов?Нужно ли проверять каждый сокет / соединение в цикле, если есть новые пакеты?Если да, разве это не так медленно?
Последний вопрос: Предположим, я хочу реализовать способ отправки файлов (например, изображений) по протоколу (кстати, это нестандартный двоичный протокол), могу ли яотправлять сообщения при загрузке?