Программирование TCP/IP может показаться очень простым, но это заблуждение. Многие программисты сталкиваются с тем, что написанное ими сетевое приложение недостаточно надежно. Часто причиной такого положения дел является неосторожное обращение с сетевымипротоколами. Поэтому основное внимание в данной книге уделено тонким вопросам функционирования семейства протоколов и способам работы с ними. Здесь изложены подтвержденные практикой советы, технические приемы и эвристические правила программирования TCP/IP для достижения максимальной производительности; показано, как избежать многих типичных ошибок. Каркас кода и библиотека функций дают возможность создавать приложения, не думая о низкоуровневых деталях. Основные идеи и концепции иллюстрируются многочисленными примерами. Вы станете лучше понимать внутреннее устройство TCP/IP и получите необходимые практические навыки работы с этим семейством протоколов.
СОДЕРЖАНИЕ:
Предисловие
Глава 1. Введение
Некоторые термины
Путеводитель по книге
Архитектура клиент-сервер
Элементы API сокетов
Резюме Глава 2. Основы
Совет 1. О необходимости различать протоколы, требующие и не требующие установления логического соединения
Резюме
Совет 2. О том, что такое подсети и CIDR
Классы адресов
Подсети
Ограниченное вещание
Вещание на сеть
Вещание на подсеть
Вещание на все подсети
Бесклассовая междоменная маршрутизация - CIDR
Текущее состояние организации подсетей и CIDR
Резюме
Совет 3. О том, что такое частные адреса и NAT
Резюме
Совет 4. О разработке и применении каркасов приложений
Каркас TCP-сервера
Каркас TCP-клиента
Каркас UDP-сервера
Каркас UDP-клиента
Резюме
Совет 5. О том, почему интерфейс сокетов лучше интерфейса XTI/TLI
Резюме
Совет 6. О том, что TCP - потоковый протокол
Резюме
Совет 7.0 важности правильной оценки производительности TCP
Источник и приемник на базе UDP
Источник и приемник на базе TCP
Резюме
Совет 8. О том, что не надо заново изобретать TCP
Резюме
Совет 9. О том, что при всей надежности у TCP есть и недостатки
Что такое надежность
Потенциальные ошибки
Сбой в сети
Отказ приложения
Крах хоста на другом конце соединения
Резюме
Совет 10. О том, что TCP не выполняет опрос соединения
Механизм контролеров
Пульсация
Еще один пример пульсации
Резюме
Совет 11. 0 некорректном поведении партнера
Проверка завершения работы клиента
Проверка корректности входной информации
Резюме
Совет 12.0 работе программы в локальной и глобальной сетях
Скрытая ошибка
Резюме
Совет 13. О функционировании протоколов
Резюме
Совет 14. О семиуровневой эталонной модели 081
Модель OSI
Модель TCP/IP
Резюме Глава 3. Создание эффективных
и устойчивых сетевых программ
Совет 15. Об операции записи в TCP
Операция записи с точки зрения приложения
Операция записи с точки зрения TCP
Резюме
Совет 16. О важности аккуратного размыкания TCP-соединений
Вызов shutdown
Аккуратное размыкание соединений
Резюме
Совет 17. О запуске приложения через inetd
TCP-серверы
UDP-серверы
Резюме
Совет 18. О назначении серверу номера порта с помощью tcpmux
Резюме
Совет 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. О значимости размеров буферов
Резюме Глава 4. Инструменты и ресурсы
Совет 33. Об использовании утилиты ping
Резюме
Совет 34. Об использовании программы tcpdump или аналогичного средства
Как работает tcpdump
Использование tcpdump
Выходная информация, формируемая tcpdump
Резюме
Совет 35. О применении программы traceroute
Как работает traceroute
Программа tracert в системе Windows
Резюме
Совет 36. О преимуществах программы ttcp
Резюме
Совет 37. О работе с программой Isof
Резюме
Совет 38. Об использовании программы netstat
Активные сокеты
Интерфейсы
Маршрутная таблица
Статистика протоколов
Программа netstat в Windows
Резюме
Совет 39. О средствах трассировки системных вызовов
Преждевременное завершение
Низкая производительность ttcp
Резюме
Совет 40. О создании и применении программы для анализа ICMP-сообщений
Чтение ICMP-сообщений
Печать ICMP-сообщений
Резюме
Совет 41. О пользе книг Стивенса
"TCP/IP Illustrated"
"UNIX Network Programming"
Совет 42. О чтении текстов программ
Резюме
Совет 43. О том, что надо знать RFC
Тексты RFC
Совет 44. Об участии в конференциях Usenet
Другие ресурсы, относящиеся к конференциям Приложение 1
Вспомогательный код для UNIX
Заголовочный файл etcp.h
Функция daemon
Функция signal Приложение 2
Вспомогательный код для Windows Заголовочный файл
skel.h
Функции совместимости с Windows
Литература
Предметный указатель
Автор: Йон Снейдер Перевод: А. Слинкин Издательство: Питер Серия: Библиотека программиста Год: 2001 ISBN: 5-318-00453-9, 0-201-61589-4 Страниц: 320 Формат: DJVU
Уважаемый посетитель, Вы зашли на сайт Go2Load.com. Мы рекомендуем Вам использовать материалы найденные на сайте, исключительно в целях ознакомления. После ознакомления удалите материал и приобретите его у владельцев.
Эффективное программирование TCP/IP
Программирование TCP/IP может показаться очень простым, но это заблуждение. Многие программисты сталкиваются с тем, что написанное ими сетевое приложение недостаточно надежно. Часто причиной такого положения дел является неосторожное обращение с сетевымипротоколами. Поэтому основное внимание в данной книге уделено тонким вопросам функционирования семейства протоколов и способам работы с ними.
Что такое – F.A.Q.? --> Подробнее... Зачем нужна регистрация на сайте --> Подробнее...
Что такое рейтинг MPAA? --> Подробнее... Воля Бродбенд - пакети "Гра", "Гра+", "Життя" та "Життя+" --> Подробнее...
Не могу скачать по ссылке "Скачать с ftp (UA-IX)", что делать? --> Подробнее... Из описания не понятно какое качество, а траффик лимитирован... как проверить качество он-лайн? --> Подробнее...
Качаю 2 файла с сервера, а другие файлы не доступны. --> Подробнее... Немогу понять, каким образом это скачивается? Символы какие то... --> Подробнее...
Какой кодек необходимо установить для просмотра видео? --> Подробнее... Почему мульт/фильм на англ. языке? Можно ли поменять язык? Как сменить дорожку? --> Подробнее...
Смотнировать исошник в Демон'a может кто пояснит что это такое? --> Подробнее... Как сохранить картинку с сайта? --> Подробнее...
Что такое скриншот (screenshot) и как создать скриншот в Windows? --> Подробнее... Как запустить файл с расширением .DJVU? --> Подробнее...
Как скачать флеш-ролики? --> Подробнее... Сделать подарок? --> Подробнее...
Что такое формат MKV? Чем открыть формат MKV? Что такое мультимедиа контейнер? --> Подробнее...
Публикаций: 0
Сообщений: 0
Зарегистрирован: --