0
私はチャットルームアプリケーションを作っており、サーバーとクライアントの間で通信するためにTCPパケットを送信します。C# - 一度に2つのTCPパケットを受信しているようですか?
私は次のコードを持っている:クライアントはこれを読むとき、応答がある、しかし
string returnMessage = "[EVT]USERSUCCESS";
bytes = Encoding.ASCII.GetBytes(returnMessage);
info.WriteToStream(bytes);
foreach (ConnectionInfo con in connections)
{
info.WriteToStream(bytes);
bytes = Encoding.ASCII.GetBytes("[EVT]USERJOIN;" + username);
con.WriteToStream(bytes);
}
を:
- [EVT] USERSUCCESS [EVT] USERJOIN;名
これはすぐに両方のパケットを受信しているようです。
これは、受信のために、私が持っているコードです:
static void ServerListener()
{
while (true)
{
byte[] bytes = new byte[1024];
int numBytes = stream.Read(bytes, 0, bytes.Length);
string message = Encoding.ASCII.GetString(bytes, 0, numBytes);
if (HandleResponse(message) && !WindowHasFocus())
{
player.Play();
}
}
}
別のスレッドとして実行されます。 HandleResponse()は完全に機能しています。
ありがとうございます!
にチェックを独自のエラーを追加することもできますそれぞれ別々にお読みください? – Sulphate
パケットコードをパケットに分割するためにサーバーコードを書き込む必要はありません。 – Catprog
どうすればいいですか?私はこれにはかなり新しいです。 – Sulphate