ERLEDIGT
JA
JA
ANTWORTEN
3
3
ZUGRIFFE
1257
1257
EMPFEHLEN
-
Moin zusammen,
ich haeng grad an einem Projekt wo ich mit dem Protokoll Q3 (Mobilfunk.. evtl sagts wem was) mit einer .. naja sagen wir "Kiste" im weitesten Sinne kommunizieren muss.
Dafür wurde schon mal was gemacht.. allerdings in C++.
Dort wurden z.b. für den Login Strukturen angelegt.
Beispiel:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118
struct APDU_Header_HEX_CC { /*** TPTK HEADER = 4 Bytes ***/ BYTE TPTK_Version; /* TPTK Version */ BYTE TPTK_Reserved; /* TPTK Reserved */ WORD TPTK_Length; /* TPTK Length */ /*** COTP HEADER = 3 Bytes ***/ BYTE COTP_Length; /* TPTK Version */ BYTE COTP_PDU_Type; /* TPTK Reserved */ BYTE COTP_TPDU_Nr; /* TPTK Length */ /*** SPDU HEADER ***/ BYTE SPDU_Type; /* Byte for SPDU Type */ BYTE SPDU_Length; /* Byte for SPDU Length */ DWORD SPDU_Conn_Acpt_Item1; DWORD SPDU_Conn_Acpt_Item2; DWORD SPDU_Session_Requirement; /*** Calling Session Selector ***/ BYTE SPDU_Calling_SSEL_Type; BYTE SPDU_Calling_SSEL_Length; BYTE SPDU_Calling_SSEL_Val1; BYTE SPDU_Calling_SSEL_Val2; BYTE SPDU_Calling_SSEL_Val3; BYTE SPDU_Calling_SSEL_Val4; BYTE SPDU_Calling_SSEL_Val5; /*** Called Session Selector ***/ BYTE SPDU_Called_SSEL_Type; BYTE SPDU_Called_SSEL_Length; BYTE SPDU_Called_SSEL_Val1; BYTE SPDU_Called_SSEL_Val2; BYTE SPDU_Called_SSEL_Val3; /*** Session User Data ***/ BYTE SPDU_Session_User_Data; BYTE SPDU_Session_Data_Length; /*** Presentation Protocol ***/ WORD SPDU_PRES_Resp; BYTE SPDU_PRES_Resp_Add; WORD SPDU_PRES_CPType; BYTE SPDU_PRES_ModeSel_1; BYTE SPDU_PRES_ModeSel_2; BYTE SPDU_PRES_ModeSel_3; WORD SPDU_PRES_Mode_Parameters; BYTE SPDU_PRES_Mode_Parameters_Add; BYTE SPDU_PRES_Mode_Parameters_Add1; WORD SPDU_PRES_Mode_Parameters_Add2; BYTE SPDU_PRES_Protocol_Version; //Result-definition-list BYTE SPDU_PRES_Context_Def_List_Init; BYTE SPDU_PRES_Context_Def_List_Init_Add; // size of definiton list // first item acceptance BYTE SPDU_PRES_Context_Def_List_Item_Init; BYTE SPDU_PRES_Context_Def_List_Item_Init_Add; WORD SPDU_PRES_Context_Def_List_Result; BYTE SPDU_PRES_Context_Def_List_Result_Add; DWORD SPDU_PRES_Context_Def_List_Result_TSN; // second item acceptance BYTE SPDU_PRES_Context_Def_List_Item_Init_Data; BYTE SPDU_PRES_Context_Def_List_Item_Init_Add_Data; WORD SPDU_PRES_Context_Def_List_Result_Data; BYTE SPDU_PRES_Context_Def_List_Result_Add_Data; DWORD SPDU_PRES_Context_Def_List_Result_TSN_Data; // User Data DWORD SPDU_PRES_UserData_Version_Init; WORD SPDU_PRES_Context_ID_Init; BYTE SPDU_PRES_Context_ID_Value; WORD SPDU_PRES_Data_Value; /*** ACSE ****/ WORD ACSE_Response_Value; // padding WORD ACSE_Response_Padding_Init; BYTE ACSE_Response_Padding_Value; // protocol version BYTE ACSE_Response_Protocol_Version; // as0 context name DWORD ACSE_Response_as0_Context_Name_Init; DWORD ACSE_Response_as0_Context_Name_Value; // result of ap title DWORD ACSE_Response_APTitle_Result_Init; BYTE ACSE_Response_APTitle_Result_Value; // result soure diagnostic DWORD ACSE_Response_Result_Diagnostic_Init; WORD ACSE_Response_Service_User_Init; BYTE ACSE_Response_Service_User_Value; // user information WORD ACSE_Response_User_Information_Init; WORD ACSE_Response_User_Information_Item_Init; WORD ACSE_Response_User_Information_Item_Direct_Ref_Init; WORD ACSE_Response_User_Information_Item_Direct_Ref_Value; WORD ACSE_Response_User_Information_Item_Indirect_Ref_Init; BYTE ACSE_Response_User_Information_Item_Indirect_Ref_Value; WORD ACSE_Response_User_Information_Item_Single_ASN_Type; /*** CMIP ***/ DWORD CMIP_Response_Init; BYTE CMIP_Response_Padding; BYTE CMIP_Response_Protocol_Version; WORD CMIP_Response_Functional_Unit_Init; WORD CMIP_Response_Functional_Unit_Value; } SPDU_CC;
Frage nun:
Wie realisiert man sowas sinnvoll in C# ?
Ich mein byte gibt es ja aber word, dword ... ?!
Hab schon bissl nachgelesen: Generell gibt es ja in c# immernoch structs. Macht es mehr sinn für sowas ne Klasse zu schreiben?
Wie realisier ich so Datenschnipsel die WORD oder DWORD waren?
Sonstwelche Tips für solch eine Protokollfummelei? Hab noch nicht so wirklich plan, was ich da tu %)
Ich hoff mal das Subforum is ok
Vielen Dank!
Gruß
FrankGeändert von BeaTBoxX (27.12.06 um 08:57 Uhr)
Nürnberg ist die geheime Welthaupstadt der Musik, das weiss nur noch keiner :-)
-
Hallo Frank!
Hab ich selber nur bisher im kleinem Stil gemacht. Aber ich kenn ein sehr gutes Tutorial zu Structs.
Mastering structs in C# - VSj
Der Thread ist im Datenverwaltung oder im Application und Service Design Forum vielleicht besser aufgehoben.
Werde mal bescheid sagen...MfG,
Christian
Wer sein Problem definiert, hat es schon halb gelöst!
Bitte markiert eure Themen als erledigt. Sonst macht so ein Forum als Nachschlagewerk keinen Sinn.
The Code Project! - C# Programming | C# / VB.NET Pendants
Regeln + Netiquette
Liebe FIAEs, verlasst euch nicht auf das was in der Berufsschule "vermittelt" wird
und vor allem nicht auf das, was euch die IHK dazu erzählt!
Die haben so viel Ahnung von dem Gewerk, wie der Bundestag vom Haushalt...
-
Danke das hilft mir schon mal bissl weiter
Nürnberg ist die geheime Welthaupstadt der Musik, das weiss nur noch keiner :-)
-
15.12.06 13:39 #4
Such auch mal unter dem Stichwort P/Invoke. Da geht es eigentlich darum, externe Funktionen aus DLLs zu importieren (managed/unmanaged code), aber in diesem Zusammenhang werden auch Typentsprechungen genannt (so ist z.B. ein LPTCSTR in C# ein IntPtr). In der C#-Hilfe gibt es ebenfalls einige Übersichtstabellen dazu, irgendwo im Zusammenhang mit dem Stichwort DllImport.
Eine Lüge kann einmal um die ganze Welt laufen, bevor die Wahrheit ihre Stiefel angezogen hat.
(Winston Churchill)
Ähnliche Themen
-
C-structs und Vererbung?!
Von canfänger im Forum C/C++Antworten: 12Letzter Beitrag: 02.02.10, 21:42 -
Liste für 2 Structs
Von Need_Name im Forum C/C++Antworten: 8Letzter Beitrag: 04.01.10, 14:49 -
C++ structs lesen
Von Orthak im Forum C/C++Antworten: 7Letzter Beitrag: 13.01.09, 21:21 -
sort vector von structs
Von Thomasio im Forum C/C++Antworten: 9Letzter Beitrag: 17.03.08, 15:38 -
[C] Warnung bei structs
Von rookie im Forum C/C++Antworten: 3Letzter Beitrag: 10.02.03, 12:55





Zitieren
Login





