いくつかの6バイトの文字列を含むトラッカー(サーバー)からメッセージを受信するC++でビットトレントクライアントを書いています。最初の4バイトはピアのIPアドレスを表し、次の2バイトはピアがリッスンしているポート番号を表します。
私はipバイトを人間が読めるIPアドレスに変換する方法を考え出しましたが、ポート番号を表す2バイトをint(または同様のもの)に変換するのに苦労しています
これまでの私の取り組みは次のとおりです。
BYTE portbinary[2];
unsigned short peerport;
//trackers[i]->peersBinary[j * 6 + 4] is the first byte
portbinary[0] = trackers[i]->peersBinary[j * 6 + 4];
//trackers[i]->peersBinary[j * 6 + 5] is the second byte
portbinary[1] = trackers[i]->peersBinary[j * 6 + 5];
peerport = *portbinary;
調べてみると、ピアポートには最初のバイトの整数表現しか含まれていないようですが、これを修正するにはどうすればよいですか?
前もって感謝します :)