C++ クライアントはバイト配列を Java サーバーに送信します。最初の 2 バイトは残りのバイト配列の長さを示します。クライアントは unsigned short を使用しますが、java には unsigned short はありません。サーバーで最初の 2 バイトを読み取るにはどうすればよいですか? ?
また、別の問題として、C++ では、最初のバイトが下位 8 ビットを示し、2 番目のバイトが上位 8 ビットを示します。
私のJavaコードは次のようになります:
DataInputStream dis = new DataInputStream(is);
int b1 = dis.readUnsignedByte();
int b2 = dis.readUnsignedByte();
int length = (b2 << 8) | b1;
うまくいくようですが、どのような状態でも正確かどうかはわかりません。ご提案をお待ちしております.thx〜