2011-02-02 20 views
1

IDが255のクライアントに送信する必要があるパケットがあります.IDが0,1,2のパケットを送信するのに問題はありませんでした.IDは255である必要があります。127バイトからパケットIDを読み取る

より翻訳は私のサーバーで、私の両方が起こった後に、何らかの理由で、クライアント、任意の同上のための「63」を取得大きいこれは私が使用していますコードです:

Console.WriteLine(Asc(System.Text.ASCIIEncoding.ASCII.GetString(System.Text.ASCIIEncoding.ASCII.GetBytes(Chr("255"))))) 

今、これはサーバーが行うことの非常に複雑なバージョンです。これは少し不必要だと考えるかもしれませんが、実行される逆関数はあなたの視聴の理由だけです。

「255」は、上記の形式で送信する必要があるパケットIDです。私が言ったように、127より大きいものは「63」を返します。とてもうるさい。

何か助けていただければ幸いです。

答えて

0

hereから撮影:ASCIIが7ビットの符号化であるため

ASCIIEncodingは、Windowsコードページ20127.に対応し、ASCII文字はU + 0000からU + 007Fに、最低128個のUnicode文字に制限され。

255は有効なASCII文字ではないので、このテクニックは使用できません。

+0

私が使用しているサーバープロトコルにはこれが必要です。私はクライアントが接続するための自分のサーバーを作成しています。ここにプロトコルの詳細へのリンクがあります。 – FreeSnow

+0

http://mc.kev009.com/Protocol#Disconnect.2FKick_.280xFF.29 – FreeSnow

+0

私はASCII変換を必要としているかどうかは疑いありません。このリンクは、16進数値のみを参照しており、そのうちのいくつかは0x7Fよりも大きい値です。 ASCIIは、0x00と0x7Fの間の値に対してのみ定義されます。 http://www.klcconsulting.net/ascii.htm –

関連する問題