Эффективное программирование TCP-IP

   чистка и заправка кондиционера |     

Эффективное программирование TCP-IP

Совет 18. Подумайте о том, чтобы
Совет 19. Подумайте об использовании двух TCP-соединений
Архитектура с одним соединением
Архитектура с двумя соединениями

Совет 20. Подумайте, не сделать ли приложение событийно-управляемым (1)
Совет 21. Подумайте, не сделать ли приложение событийно-управляемым (2)

Совет 22. Не прерывайте состояние TIME-WAIT для закрытия соединения
Что это такое
Зачем нужно состояние TIME- WAIT
Принудительная отмена состояния TIME-WAIT
Совет 23. Сервер должен устанавливать опцию SO_REUSEADDR
Совет 24. По возможности пишите один большой блок вместо нескольких маленьких


Отключение алгоритма Нейгла
Запись со сбором

Совет 25. Научитесь организовывать тайм-аут для вызова connect
Использование вызова alarm
Использование select
Совет 26. Избегайте копирования данных.

Буферы в разделяемой памяти
Система буферов в разделяемой памяти
Реализация в UNIX
Реализация в Windows

Совет 27. Обнуляйте структуру sockaddr_in
Совет 28. Не забывайте о порядке байтов
Совет 29. Не «зашивайте» IP-адреса и номера портов в код

Совет 30. Разберитесь, что такое подсоединенный UDP-сокет
Совет 31. Помните, что С - не единственный язык программирования
Основной цикл
Совет 32. Определите, на что влияют размеры буферов

Совет 33. Используйте утилиту ping
Совет 34. Используйте программу tcpdump или аналогичное средство
Как работает tcpdump

Использование tcpdump
Выходная информация, формируемая tcpdump
Совет 35. Применяйте программу traceroute
Программа tracert в системе Windows
Совет 36. Используйте программу ttcp

Совет 37. Применяйте программу Isof
Совет 38. Используйте программу netstat
Активные сокеты
Интерфейсы
Маршрутная таблица

Статистика протоколов
Программа netstat в Windows
Совет 39. Применяйте средства трассировки системных вызовов
Преждевременное завершение

Содержание раздела