この問題の原因は完全にわかりません。私は2つのスレッドクライアントが同時にサーバーと通信していますが、何らかの理由で "奇妙な" sw.Flush()のデータが実際にクライアントコンソールに表示されています。"odd" sw.Flush()がstreamWriter.WriteLine()を送信しようとしています
たとえば、サーバーに私は、この点に達しています:
while (true)
{
sw.WriteLine("BOO");
sw.Flush();
Console.ReadKey();
}
Iキーを押す初めて、「BOO」は最初のクライアントウィンドウに送信されます。 2回目は、「BOO」が第2のクライアントウィンドウに送信されます。しかし、3回目と4回目にキーが押されると、何も印刷されずにプログラムが続行されます。それは下に貼り付けられ、私のクライアント処理で何か可能性が
がなど5番目と6番目のためではなく、第七のために再び動作し、第八それから:
while (true)
{
while (sr.ReadLine() != null)
{
Console.WriteLine(readServerResponse(sr));
}
}
readServerResponse
従って、この方法は次のとおりです。
public static string readServerResponse(StreamReader sr)
{
string responseString = "";
try
{
responseString = sr.ReadLine();
}
catch(Exception e)
{
Console.WriteLine("Exception: " + e.ToString());
}
return responseString;
}
誰かがこれについて光を当てることができたら、私は非常に感謝します。
完璧な、私が必要とした正確な修正。とても有難い。 – James
あなたは大歓迎です:) –