0

シンプルなクライアント サーバー アプリケーションがあります。

クライアントのコード:

public class Client
{
    private TcpClient client;

    private NetworkStream stream;

    ...

    public Client(string clientName)
    {
        this.client = new TcpClient(); 
        this.client.Connect(this.Address, 13465);
        this.stream = this.client.GetStream();
    }

    public void Listening()
    {
        while (true)
        {
             BinaryFormatter formatter = new BinaryFormatter();
             string data = (string)formatter.Deserialize(stream);

             // do something with data
        }
    }

    ...
}

リスニング メソッドは、データを受信するメソッドであり、ご覧のとおり、無限ループがあります。

問題は、サーバーからメッセージを 1 つしか受信できないことです。つまり、サーバーが文字列を送信し、この文字列を受信します。サーバーは私に別の文字列を送信し、クライアントは何もしません。

サーバーは数回 (Wireshark を使用しても) 確認するので、100% 確実に正常に動作します。サーバーからすべてのメッセージを受信するようにアプリケーションを改善する方法はありますか?

4

0 に答える 0