kad ネットワークへの接続を処理するライブラリを C++ で作成することになっています。aMule&co で使用されているものと一致するパケットを作成しようとしています。
そして、私はこのコードの違いを本当に理解できません:
buffer = "\xe4\x20\x02";
そして、例えば、このコード:
char p_buffer[36];
p_buffer[0] = 0xe4;
p_buffer[1] = 0x20;
p_buffer[2] = 0x02;
buffer = p_buffer;
(buffer はクラスのプライベート属性ですが、p_buffer はローカル変数です)
Wiresharkでパケットをキャプチャすると、リトルエンディアン/ビッグエンディアン表記で何か間違ったことをしていたように、さまざまな結果が得られます(最初のものは私が望んでいた通りで、2番目のものはそうではありません)。
クラスのコンストラクターで、[プライベート]「char *バッファー」を次のように変更できないのはなぜですか。
buffer[0] = 0xe4;
? (動作せず、トレースバックエラーなしで終了します)
(問題があれば、crypto++ と boost ライブラリを使用しています)
助けてくれてありがとう_