0
私はクライアント用のサーバを作成することになっています。私はすべてのクライアントのコードを持っているので、それを使用して、私はサーバーを作成する必要があります。クライアント - サーバシナリオでビット単位の計算が不正
クライアントには、readInt(num1)
という名前の特定のコードがあります。 return num1 << 24 | num1 << 16 | num1 << 8 | num1
これは、クライアントがパケットから受け取ったデータにtype = int
が入るたびに呼び出され、私はそれを争うことができません。
最初に気にしたことを試しました。 intを3にする必要がある場合は、3 >> 24
を実行しますが、yieldはありません。
私の心はうまく機能しません。私は良い解決策ではありません。クライアントの3
と読んで、サーバー上の3
と言うと、サーバ側ではこれを達成するには?
クライアントはAdobe ActionScript 3で、サーバはPython 2.7.12です。
(私は推測する)サーバを介して、それを逆にすることはできませんそれ以外の場合は、同じ結果を得るために、サーバからの負の数を送信しています。 Pythonで '3'を作る方法とAS3を読み込む方法を示してください...パケットがいくつかのAS3のbyteArrayに入っていますか?はいの場合は、単に 'num1 = myBytes.readUnsignedInteger();'のようなものを使用しないでください。 Integer型は4バイトを使用するので、あなたのパケットの全バイト長の中で読み込むために4バイトのうちの期待される '.position'を実行します。とにかく、3の例では1バイトしか使わないので、 'num1 = myBytes.readByte();'を使用するのに十分です。 ** AS3 ByteArray API **をオンラインドキュメントでチェックしてください。 –
@ VC.One私はPythonでint(3)を使用しています。私はAS3のbytearrayに挿入されていると信じていますが、私は二重チェックしますが、私はASコードを読み込み、Pythonコードにアクセスできるだけです。 Pythonコードは、ASクライアントに送信される整数を作成する必要があります。加えて、私が逆転を行うすべてのexpieremnts、しないでください。私はPythonからstruct'D intを送ることを提案していますか?クライアントがそれを受け入れるかどうかはわかりませんが、それは価値があります。 –