Ich baue einen Protokollanalysator. Ich bin neu in C# (hat mit C gearbeitet).C# -Strukturdefinitionen für Protocol Analyzer
Ich habe einen Byte-Stream, der analysiert und in mehrere Strukturen gefüllt werden muss. Die Daten kommen herein und auf jede Daten können wir nur entscheiden, welche Struktur und welche Größe (Daten können auch Array von Strukturen sein). Ich finde es schwierig, mit dem generischen Design der Strukturen zu kommen, in dem ich die eingehenden Bytes einfach so abbilden kann, wie es in den Strukturen ist. In C ist dies einfach, da wir den void * -Typ verwenden können, um ihn bei Bedarf zu werfen und in den entsprechenden Strukturen zu speichern.
Die typischen Datenstrukturen sind wie
Typedef struct DATA_PKT { intu16 choice; //this tells which one of the below union to use ! intu16 length; union { Data_Type_A DataA; Data_Type_B DataB; Data_Type_C DataC; } } Typedef struct Data_Type_A { Ver_t version; Params_t param; } Typedef struct Vert_t { Int Verlen; VersData_t *versions; //here starts versions info of length= Verlen } Typedef struct VersData_t { Int VerID; //we have a variety of version info. This id tells which version info ANY_t ver; } Typedef struct ANY_t { Int len; Char *data; } Typedef struct Params_t { Int Len; //total length if the structure Int ParamCount; // # of params present in this structure Param_t *params } Typedef struct Param_t { Int ParamID; //we have a variety of param info. This id tells which param info ANY_t param; }
Wenn jemand über ähnliche probs gekommen war uns bitte helfen, es zu lösen. Bitte teilen Sie alle Codebeispiele, wenn Sie haben.
Schätzen Sie Ihre Bemühungen zu helfen. Grüßen, abhayadev s
danke, aber ich konnte Ihre Kommentare nicht gut bekommen. Können Sie einige Beispiele zeigen? –