2016-12-15 8 views
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です。

+0

(私は推測する)サーバを介して、それを逆にすることはできませんそれ以外の場合は、同じ結果を得るために、サーバからの負の数を送信しています。 Pythonで '3'を作る方法とAS3を読み込む方法を示してください...パケットがいくつかのAS3のbyteArrayに入っていますか?はいの場合は、単に 'num1 = myBytes.readUnsignedInteger();'のようなものを使用しないでください。 Integer型は4バイトを使用するので、あなたのパケットの全バイト長の中で読み込むために4バイトのうちの期待される '.position'を実行します。とにかく、3の例では1バイトしか使わないので、 'num1 = myBytes.readByte();'を使用するのに十分です。 ** AS3 ByteArray API **をオンラインドキュメントでチェックしてください。 –

+0

@ VC.One私はPythonでint(3)を使用しています。私はAS3のbytearrayに挿入されていると信じていますが、私は二重チェックしますが、私はASコードを読み込み、Pythonコードにアクセスできるだけです。 Pythonコードは、ASクライアントに送信される整数を作成する必要があります。加えて、私が逆転を行うすべてのexpieremnts、しないでください。私はPythonからstruct'D intを送ることを提案していますか?クライアントがそれを受け入れるかどうかはわかりませんが、それは価値があります。 –

答えて

0

私が知っている唯一の方法は、あなたを助けるために十分な情報がありません

関連する問題