Я пытаюсь создать серверное приложение winforms, используя сокет-программирование в c#, каждое устройство, которое подключается к моей программе, использует свой протокол для отправки или получения данных в / из моей программы, например, первое устройство отправляет или получает пакетные данные как массив байтов длиной 19 байт и этот протокол:
start index: type : descriptin :length(byte): value
byte[00] : string : header : 2 :constant
byte[02] : int : age : 4 :age of user
byte[06] : double : height : 8 :height of user
byte[14] : bool : gender : 1 :age of user
byte[15] : string : endPacket : 4 :constant
, а второе устройство отправляет или принимает пакетные данные в виде массива байтов длиной 24 байта и этот протокол:
start index: type : descriptin :length(byte): value
byte[00] : string : header : 2 :constant
byte[02] : int : time : 4 :time in millisecond
byte[06] : double : height : 8 :height of user
byte[14] : byte : flag : 1 :something
byte[15] : byte : gender : 1 :male or female
byte[16] : int : age : 4 :age of user
byte[20] : string : endPacket : 4 :constant
Как я могу перевести (преобразовать) данные из каждого протокола в другой?
и как я могу динамически определять протоколы пользователем во время выполнения и сохранять их для следующего использования в sql ???
спасибо.