こんにちは私はトランスポートパーサーの個人的なプロジェクトに取り組んでいます。
受信したパケットを2進数で表現し、その後特定のビットを設定できるようにしたい。2番目の部分の実行方法についてはかなり良いアイデアがありますが、最初は本当に行き詰まっています。そのためにunsigned charを使用するようにアドバイスされましたが、その変数で完全なパケットを実際に表すことはできますか。
ありがとう
おそらく必要なunsigned char array
ものです。この構造に必要なものを格納し、好きな方法でアクセスできます。
このコンテナをより大きなコンテナに入れることもできます。より大きなコンテナには、各レイヤーの開始と終了などへのポインタがあります。
私はおそらく単純なクラスを持っているでしょう(とにかく始めるのは簡単です):
class Packet
{
public:
Packet(unsigned int length);
Packet(void *data);
bool getBit(unsigned int bit);
void setBit(unsigned int bit,bool set);
private:
std::vector<unsigned char> bytes;
};
これはまだ始まったばかりです。何に使用するかによって、より複雑になることは間違いありません。配列演算子のオーバーロードを検討するかもしれませんが、それはおそらく「初心者レベル」の範囲外であり、今は無視するのが最善でしょう。