Программирование TCP/IP может показаться очень простым, но это заблуждение. Многие программисты сталкиваются с тем, что написанное ими сетевое приложение недостаточно надежно. Особое внимание в данной книге уделено тонким вопросам функционирования семейства протоколов и способам работы с ними. Здесь изложены подтвержденные практикой советы, технические приемы и эвристические правила программирования TCP/IP для достижения максимальной производительности; показано, как избежать многих типичных ошибок. Основные идеи и концепции иллюстрируются многочисленными примерами. Книга значительно ускорит процесс обучения программированию и позволит вам быстро достичь уровня профессионала.
Название: Эффективное программирование TCP/IP Автор: Снейдер Й. Издательство: ДМК Пресс Год: 2009 ISBN: 978-594074-670-6 Качество: Отличное Серия или Выпуск: Для программистов
Содержание:
Предисловие Глава 1. Введение Некоторые термины Путеводитель по книге Архитектура клиент-сервер Элементы API сокетов Глава 2. Основы Совет 1. О необходимости различать протоколы, требующие и не требующие установления логического соединения Совет 2. О том, что такое подсети и CIDR Подсети Ограниченное вещание Вещание на сеть Вещание на подсеть Вещание на все подсети Бесклассовая междоменная маршрутизация - CIDR Текущее состояние организации подсетей и CIDR Совет 3. О том, что такое частные адреса и NAT Совет 4. О разработке и применении каркасов приложений Совет 5. О том, почему интерфейс сокетов лучше интерфейса XTI/TLI Совет 6. О том, что TCP - потоковый протокол Совет 7. О важности правильной оценки производительности TCP Совет 8. О том, что не надо заново изобретать TCP Совет 9. О том, что при всей надежности у TCP есть и недостатки Совет 10. О том, что TCP не выполняет опрос соединения Совет 11. О некорректном поведении партнера Совет 12. О работе программы в локальной и глобальной сетях Совет 13 О функционировании протоколов Совет 14. О семиуровневой эталонной модели OSI Глава 3. Создание эффективных и устойчивых сетевых программ Совет 15. Об операции записи в TCP Совет 16. О важности аккуратного размыкания TCP-соединений Совет 17. О запуске приложения через inetd Совет 18. О назначении серверу номера порта с помощью tcpmux Совет 19. Об использовании двух TCP-соединений Совет 20. О том, как сделать приложение событийно-управляемым (1) Совет 21. О том, как сделать приложение событийно-управляемым (2) Совет 22. О том, что не надо прерывать состояние TIME-WAIT для закрытия соединения Совет 23. Об установке опции SO_REUSEADDR Совет 24. О написании одного большого блока вместо нескольких маленьких Совет 25. Об организации тайм-аута для вызова connect Совет 26. О вреде копирования данных Совет 27. Об обнулении структуры sockaddrjn Совет 28. О важности порядка байтов Совет 29. О том, что не стоит «зашивать» IP-адреса и номера портов в код Совет 30. О подсоединенном UDP-сокете Совет 31. О том, что C - не единственный язык программирования Совет 32. О значимости размеров буферов Глава 4- Инструменты и ресурсы Совет 33. Об использовании утилиты ping Совет 34. Об использовании программы tcpdump или аналогичного средства Совет 35. О применении программы traceroute Совет 36. О преимуществах программы ttcp Совет 37. О работе с программой Isof Совет 38. Об использовании программы netstat Совет 39. О средствах трассировки системных вызовов Совет 40. О создании и применении программы для анализа ICMP-сообщений Совет 41. О пользе книг Стивенса Совет 42. О чтении текстов программ Совет 43. О том, что надо знать RFC Совет 44. Об участии в конференциях Usenet Приложение 1 Вспомогательный код для UNIX Приложение 2 Вспомогательный код для Windows Функции совместимости cWindows Литература Предметный указатель