Я разрабатываю инфраструктуру клиент-сервер с обменом файлами, чатом и некоторыми функциями отслеживания сервера.
Мне нужно создать три постоянных TCP-соединения для каждого, поскольку они будут использовать отдельные протоколы и часто отдельные экземпляры сервера. Я не начинал разрабатывать коммуникационные материалы, потому что я не уверен, какой тип системы я должен создать для него: async или sync?
Если я выберу Async, какие преимущества он даст мне относительно трех других протоколов?
Если я выберу Sync, будут ли два сообщения чата отправлены за короткий промежуток времени друг от друга, например, может быть потерян или задержан один из них из-за другого процесса отправки?
Надеюсь, мой вопрос не слишком ясен.
Нет никакой разницы между тем, что вы можете выполнить с синхронизацией и с асинхронным. Возможности API сокетов не меняются. Изменяется только механизм вызова.
Преимущества синхронизации и асинхронизации являются нефункциональными по своей природе. См. Также: Должны ли мы переключиться на использование async I/O по умолчанию?
Это отвечает на ваш вопрос, как было задано. Если есть какая-то конкретная проблема или путаница, оставляйте комментарий.