Member 13046160 Ответов: 1

C# udp-пакет на основе структуры


Привет

Я хочу отправить данные на принтер через udp-порт. У меня есть структура этого udp-пакета, но я понятия не имею, как его построить.

Структура

У кого-нибудь есть идея?

Что я уже пробовал:

UdpClient udpClient = new UdpClient();
            udpClient.Connect("192.168.0.99", 47545);
            Byte[] senddata = Encoding.ASCII.GetBytes("id_val_operation_acquire_records2");
            udpClient.Send(senddata, senddata.Length);

1 Ответов

Рейтинг:
2

Jochen Arndt

Создайте структуру C#, соответствующую определению структуры. Эта структура не должна содержать заполняющих байтов (Pack = 1) и использовать элементы с фиксированной шириной (использовать byte, UInt16, UInt32 по длине полей). Видеть Атрибута structlayoutattribute.Комплект Полевого Снаряжения (Системы.Во время выполнения.InteropServices)[^].

Затем создайте экземпляр этой структуры, заполните его и отправьте. Отправка требует преобразования структуры в байтовый массив, что является обычной задачей; просто найдите "c# structure to byte array".