Поделиться через


Рекомендации по интерактивным приложениям

При трансформации кода обновления ячейки Life было выявлено несколько рекомендаций по написанию высокопроизводительных сетевых приложений. Ниже приведены некоторые общие стратегии, которые следует применять при написании таких типов приложений:

  • Сделайте поток данных максимально возможным, а не используйте блоки.
  • Используйте несколько больших транзакций, а не несколько небольших. Кроме того, крупные транзакции можно эффективно выполнять потоковую передачу.
  • Распознать, что сеть является медленным, ненадежным ресурсом, и разработать каждое приложение, чтобы свести к минимуму его зависимость от сети.
  • Используйте хорошо спроектированное представление данных в сети. Представление данных должно быть не зависящим от компьютерной архитектуры, не содержать жира и, возможно, быть сжатым.
  • Во время инициализации и завершения работы не заставляйте пользователя ждать запуска или завершения работы сети. Инициализация, связанная с сетью, может занять относительно много времени. Разделите некритичный сетевой код.
  • Обработка ошибок в соответствии с их влиянием. Не все ошибки являются критически важными. Реализуйте механизмы восстановления и предоставляйте неинтрусивные отзывы пользователей.
  • Используйте удаленные вызовы процедур (RPC) только при необходимости. RPC является синхронным в Windows Me/98 и всегда приводит к болтливым, жирным протоколам при отправке небольших объемов данных.
  • Измерение затрат на сеть с помощью Netstat; Вы можете быть удивлены тем, что ваши измерения показывают.
  • Протестируйте приложение в различных сетях, особенно медленных или подверженных потерям сетях. Беспроводные локальные сети, модемы и виртуальные частные сети (VPN) через Интернет являются хорошими сетями для тестирования.

Высокопроизводительные приложения windows Sockets