次の点を考慮してください。
private void Read()
{
StreamReader r = new StreamReader(clientObject.GetStream());
string str = r.ReadLine();
if ((str == null) || (str == "")) { Disconnect(); }
Client_dataReceived(str);
Read();
}
このクライアントをサーバーに接続すると、ハングします。インテリセンスで割ると「string str = r.ReadLine();」が強調表示されている場合、これはプログラムがハングし始める直前に取り組んでいたものだと思います。なぜこのようにぶら下がっているのですか?以前にまったく同じ方法でアプリケーションを作成しましたが、ハングしません。
前もって感謝します!
編集:私はこれを試しました:
private void Read()
{
StreamReader r = new StreamReader(clientObject.GetStream());
string str;
while ((str = r.ReadLine()) != null)
{
Client_dataReceived(str);
}
}
しかし、私は同じ効果を得ます...