Parseバイナリデータのためのc#bootpサーバー?
-
19-09-2019 - |
質問
私のいずれかの提示が必要となり私C#.アプリケーションとして、bootpサーバーです。のプロトコルのインターネットはモバイルがあまりないと思いますか簡単に構築することが可能となる/解析、バイナリデータです。
そのアイデア:
(出典: tcpipguide.com)
解決
あるカップルの方法ではないかと思います。ることができるかもしれませの 集属性 などStructLayoutパック構造をバイト配列にはこのトリッキーなプライベートビーチがあります。
を使用できる専門の枠組みなど Protobuf 属性クラスではなく、それが直列化されに合わせた構造があります。
私の経験で、最も簡単な、最速、最も柔軟な方法をバイナリー構造をこのような利用にあMemoryStreamクラスにバッファのbyes、その利用 BinaryWriter で実際に書くのバイナリデータのストリームです。
いずれにせよ、すいサーバーを参考にする。使用ツールのようなWiresharkまたはMicrosoftネットワークモニタの線路なので比較することができ線形例を持つことがわかっている。
他のヒント
を作成できます簡単な構造になっています:
[Serializable]
[StructLayout(LayoutKind.Sequential, Pack=1)]
public struct MyData {
public byte OpCode;
public byte HardwareType;
public byte HardwareAddressType;
public byte Hops;
public int TransactionId;
public short Seconds;
public short Flags;
public int ClientIPAddress;
public int CurrentIP;
// all other fields in the required sequence
}
使用のコードから このblogpost にserialize/直列化復元。が問題となる可能性があるとのServerNameとBootFilenameの違いで、いつの間にか、エンコーディングとかを指定する必要があります。正確なFieldOffsetそれぞれの分野において このトピックmsdn ます。
います:)
所属していません StackOverflow