Иван Коротченя
Иван Коротченя личный блог
02 ноября 2024, 14:07

дешифровка FAST сообщений

Всем добрый день!

Пытаюсь расшифровать Fast сообщение от московской биржи, никак не могу понять как использовать pmap.

Например я получаю от сервера сообщение 
\xe1.\x01\x00\xc0\x10\xbc\x04]\xe1\x03,$\x07\x0be[\x0e\xc3

Первые 4 байта согласно спецификации — преамбула, отбросив ее:
\xc0\x10\xbc\x04]\xe1\x03,$\x07\x0be[\x0e\xc3

Затем получаю первый байт:
\xc0 = 1100 0000
Но шаблон сообщения-сердцебиения вообще не содержит опциональных полей. 

<template name=«0» id=«2108» xmlns="http://www.fixprotocol.org/ns/fast/td/1.1"><string name=«MessageType» id=«35»><constant value=«0» /></string><string name=«BeginString» id=«8»><constant value=«FIXT.1.1»/></string><string name=«SenderCompID» id=«49»><constant value=«MOEX»/></string><uInt32 name=«MsgSeqNum» id=«34»></uInt32><uInt64 name=«SendingTime» id=«52»></uInt64></template>

Столкнулся с этим почти во всех сообщения, во многих 5 байт равен \xC0 хотя в некоторых случаях это не может соответсвовать pmap для этого шаблона. 

Кто-нибудь сталкивался с такой проблемой при дешифроке? Не могу понять где я ошибаюсь
16 Комментариев
  • Auximen
    02 ноября 2024, 14:26
    Спросите у chat gpt 4o.
  • Жопа Жирафа
    02 ноября 2024, 14:48
    биржа пытается намекнуть вам, что не надо торговать на ней
  • John Doe
    02 ноября 2024, 14:50
    Есть готовые решения в open source, почему там не посмотреть?
  • Пафос Респектыч
    04 ноября 2024, 00:10
    Кто-нибудь сталкивался с такой проблемой при дешифроке? Не могу понять где я ошибаюсь

    Был когда-то такой старый анекдот, про то как молодой программист приходит к опытному товарищу, показывает код и просит подсказать где у него ошибка и получает ответ что в ДНК у него ошибка )

    Ты что-нибудь слышал про big-endian и little-endian порядок байт? Раз уж в битиках копаться собрался то поинтересуйся, это полезное знание!

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн