Начало положено
тут
Продолжение
тут
Вступление
Разработка обертки протокола, только на первый взгляд, кажется простым. Нахрапом такую задачу не взять. Тут, как я уже говорил, важно посидеть с кружкой чая, полистать документацию, построить различные схемы, структуры. На основе этого, разработать логику обертки, иерархию классов и тд. Разберем иерархию команд протокола. Для анализа была взята
документация самой биржи.
Теоретически аспекты. Разложим немного по полочкам.
Все сообщения протокола можно разложить на несколько тем. Я начну с первой группы:
- Сообщения для поддержания связи.
- Logon; Тип=A; Сообщение для инициализации сессии. Грубо говоря для подключения к серверу
- Logout; Тип=5; Сообщение для завершения сессии. Сообщаем серверу о прекращении связи
- Hearbeat; Тип=0; Сообщение для поддержания связи.
- Request; Тип=1; Сообщение для поддержания связи. Запрос второй стороны, жива ли первая
- Reject; Тип=3; Сообщение об ошибке. Получаем его, если мы не правильно оформили свое сообщение
- Resend Request; Тип=2; Повторный запрос сообщений, в случае утери. Задается интервал номеров сообщений.
- Sequence Reset; Тип=4; Используется для сброса номеров сообщений.
На этом наверное буду заканчивать первую часть описания. В нее вошли функции, отвечающие исключительно за связь между клиентом и сервером. Давайте посмотрим теперь немного практики. И еще почертим.
(
Читать дальше )