1

ログイン、チャット、マッチメイキングを処理するゲームのクライアント サーバー プログラムに取り組んでいます。これはすべて c#.net で行われます。

私が抱えている問題はチャットにあります。別のコンピューターからチャットを非常に速く送信し始めるまで、チャットは正常に機能します。クライアントをラップトップにロードし、キーを壊してできるだけ早く送信すると、次のようになります。

Laptop:Hello  <--- this is normal
Laptop:Hello2<EOF>msgLaptop: Hello3      <-- this is what happens.  Hello3 should
   be on the third line without the <EOF>msg.

何かがリセットされていないようですが、場所がわかりません。サーバーが何をしているかを見ることができるので、サーバーは正しい情報を送信します。

クライアントとサーバーの両方が非同期ソケット接続を使用します。beginend メソッドを使用してデータを長い文字列として送信し、クライアントまたはサーバーに解析させます。

たとえば、"msgtheMessage" msg のようなものは、チャットのメッセージです。

データが受信されると、「msg」であるヘッダーをチェックし、EOF をチェックしてそれらを解析し、チャット ルームに送信します。

あまりにも速く入ってくるデータを処理するための良い方法はありますか?

ちなみに、データが送信されているコンピューターでは、サーバーが向きを変えて送信元のコンピューターに同じように送信しても、データを受信するコンピューターではそのようには起こりません。

4

0 に答える 0