Глубины Indy


Содержание


От переводчика
Введение
Об этой книге
Обратная связь
Обновления
Примеры
Другие ресурсы
Для дальнейшего чтения
Благодарности
Примечание
Бесплатная поддержка
Платная, приоритетная поддержка
Отчеты об ошибках
Winsock
Обзор
Стек протоколов TCP/IP
Клиент
Сервер
IP адрес
Порт
Протокол
Сокет
Имя узла
Сервис DNS
Протокол TCP
Протокол UDP
Протокол ICMP
Файл HOSTS
Файл SERVICES
Localhost (Loopback)
Программа Ping
Программа TraceRoute
LAN
WAN
IETF
RFC
Кодовые потоки (thread)
Fork
Winsock
Стек протоколов
Сетевой порядок байт
Путь Indy
Методология Indy
Различия Indy
Обзор клиентов
Обзор серверов
Потоки
Модели программирования
Другие модели
Блокирующий режим
Неблокирующий режим
История Winsock
Блокирующий режим это не смертельно
Достоинства блокирующего режима
Недостатки блокирующего режима
Компонент TIdAntiFreeze
Достоинства неблокирующего режима
Недостатки неблокирующего режима
Сравнение технологий
Файлы против сокетов
Сценарий записи в файл
Блокирующий режим записи файла
Неблокирующий режим записи файла
Сравнение записи файлов
Почти как файлы
Базовый клиент
Обработка исключений
Исключения это не ошибки
Компонент TIdAntiFreeze
Пример - Проверка почтового индекса - клиент
Проверка почтового индекса - протокол
Объяснение кода
Обзор
Надежность
Широкополосносные сообщения (Broadcast)
Размеры пакетов
Обзор
Схема с подтверждениями
Схема с последовательностями
Компонент TIdUDPClient
Компонент TIdUDPServer
Обзор
IP Address
Поле Message
Use a Custom Message
Show Any Key
Show Trademark
Клавиша Show
Клавиша Clear
Установка
Исходный код
Клиент RBSOD
Чтение и запись
Функция AllData
Процедура Capture
Функция CurrentReadBuffer
Свойство InputBuffer
Функция InputLn
Процедура ReadBuffer
Функция ReadCardinal
Функция ReadFromStack
Функция ReadInteger
Функция ReadLn
Функция ReadLnWait
Функция ReadSmallInt
Процедура ReadStream
Функция ReadString
Процедура ReadStrings
Функция WaitFor
Таймауты чтения
Функция SendCmd
Процедура Write
Процедура WriteBuffer
Процедура WriteCardinal
Процедура WriteHeader
Процедура WriteInteger
Процедура WriteLn
Процедура WriteRFCReply
Процедура WriteRFCStrings
Процедура WriteSmallInt
Процедура WriteStream
Процедура WriteStrings
Функция WriteFile
Буферизация записи
Работа транзакций
События OnWork
Управление своими собственными рабочими транзакциями
Обнаружение разъединения
Скажем прощай
А нужно ли вам реально знать это?
Я должен знать это немедленно!
Keep Alives
Пинги (Pings)
Исключение EIdConnClosedGracefully
Почему случаются исключения на серверах?
Почему это исключение?
Это ошибка?
А когда это ошибка?
Простое решение
Реализация протоколов
Терминология протокола
Простой текст (plain text)
Команды (commands)
Ответы (reply)
Отклики (response)
5 Переговоры (conversations)
RFC - определения
RFC - коды состояния
Примеры
RFC – отклик (response)
RFC - транзакции
Класс TIdRFCReply
Класс ReplyTexts
Курица или яйцо?
Определение пользовательского протокола
Симуляция другой стороны (Peer Simulation)
Протокол получения почтового кода
Команда Help
Команда Lookup
Команда Quit



Начало