2

サーバーに (IP とポートを使用して) 接続し、サーバーからメッセージを XML として取得する読み取りループを作成する必要があります。サーバーからのメッセージがない場合があります。

接続を作成して(正常に動作します)メッセージを読み取ろうとしましたが、サーバーから最初のメッセージを取得し、別のメッセージを読み取ろうとするとスタックします。今はメッセージがないのではないかと思いますが、メッセージが出るまでループを続ける必要があります...「catch」や「finally」にも行かず、何もしません..

public class Connection
{
    public Connection()
    {
        Socket server = null;
        try
        {
            string p = string.Empty;
            using (var client = new TcpClient(myIPAddress, myPort))
            using (var stream = client.GetStream())
            using (var reader = new StreamReader(stream))
            {
               while (p != null)
               {
                    try
                    {
                        p = reader.ReadLine();
                    }
                    catch (Exception e)
                    {
                       //
                    }
               }
            }
        }
        catch (Exception e)
        {
            //
        }
        finally { 
            server.Close(); 
        }
    }
}
4

2 に答える 2

-2

データがストリームに到着するまで待つ必要があります。以下を使用してみてください。

if(reader.EndOfStream)
   continue;
于 2012-06-11T06:57:14.177 に答える