Как перевести пакетные протоколы отправки или получения данных на / с разных устройств в c# программировании сокетов? - PullRequest
0 голосов
/ 29 марта 2020

Я пытаюсь создать серверное приложение 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 ???

спасибо.

...