Преобразование байтового сообщения из UDP - C#

Узнай цену своей работы

Формулировка задачи:

Добрый день! Подключаюсь по UDP к мультикасту и слушаю порт. Получаю битовое сообщение, которое потом могу перевести через BitConverter в string и вывести куда нибудь, встала задача это битовое сообщение распарсить, оно имеет три поля с определенным размером байт(2,2,8). Как правильнее это сделать, чтобы перевести в последующем перевести их? В конечном итоге они имеют формат int2, int2, int8 Пример сообщения: 50 02 58 04 54 34 1a 00 00 00 00 00

Решение задачи: «Преобразование байтового сообщения из UDP»

textual
Листинг программы
    [StructLayout(LayoutKind.Sequential, Pack = 1)]
    unsafe struct MyStruct
    {
        public short A;
        public short B;
        public long C;
 
        public fixed byte OptionalBytes[50];
        public fixed int OptionalInts[10];
 
        public static MyStruct Deserialize(byte[] data)
        {
            fixed (byte* pData = &data[0])
            {
                return *(MyStruct*)pData;
            }
        }
    }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 4 из 5
Похожие ответы