Преобразование байтового сообщения из 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; } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д