Добрый день, Дамы и Господа.
В процессе работы над проектом возникла такая проблема:
Есть UDP пакет, приходящий на определенный порт. Формат этого пакета - cisco netflow. В спецификации сказано, что байты 0-1 - это версия формата. В моем случае это версия 5. Так вот, когда в IndyUDPServer в событии OnUDPRead я пытаюсь вытащить из потока AData эти два байта, получаю значение 1280 вместо 5. Анализ проблемы показал, что это происходит при чтении из потока в переменную, которая объявлена как word (т.е. размером 2 байта). Если посмотреть на число 1280 в двоичном виде, то станет ясно, что оно получается путем перестановки байт 0 и 1 местами. То есть в потоке они стоят в порядке 0 1, а считываются в обратном (1 0). Таким обазом, в потоке в байте 0 стоит значение 0, а в байте 1 - зничение 5, а при считывании они меняются местами и получается значение 1280.
Объясните, пожалуйста, почему так получается и как с этим бороться.
P.S. Извините за некоторую сумбурность изложения, т.к. уже всю голову сломал.
Заранее благодарен.