How can I send data with a TcpListener, and wait for the response ?
I have the following code:

    using (TcpClient client = new TcpClient())
    			{
    				client.Connect(host, port);
    
    				using (SslStream stream = new SslStream(client.GetStream(), true))
    				{
    					stream.AuthenticateAsClient(host);
    
    					stream.Write(System.Text.Encoding.ASCII.GetBytes(dataToSend));
    
    					int byteRead = 0;
    					byte[] buffer = new byte[1000];
    
    					do
    					{
    						byteRead = stream.Read(buffer, 0, 1000);
    						reponse += System.Text.Encoding.ASCII.GetString(buffer, 0, byteRead);
    					}
    					while (byteRead > 0);
    				}
    			}



I send a string to a server, and then wait for the response.

Is this the proper way to do it?

If the server takes some time to process what I sent, will it still work or will stream.Read return 0 and exit the loop? Or if some packets from the response are lost and need to be resent, will it still work?


How can I send data with a TcpListener, and wait for the response ?
===

I have the following code:

    using (TcpClient client = new TcpClient())
    			{
    				client.Connect(host, port);
    
    				using (SslStream stream = new SslStream(client.GetStream(), true))
    				{
    					stream.AuthenticateAsClient(host);
    
    					stream.Write(System.Text.Encoding.ASCII.GetBytes(dataToSend));
    
    					int byteRead = 0;
    					byte[] buffer = new byte[1000];
    
    					do
    					{
    						byteRead = stream.Read(buffer, 0, 1000);
    						reponse += System.Text.Encoding.ASCII.GetString(buffer, 0, byteRead);
    					}
    					while (byteRead > 0);
    				}
    			}



I send a string to a server, and then wait for the response.

Is this the proper way to do it?

If the server takes some time to process what I sent, will it still work or will stream.Read return 0 and exit the loop? Or if some packets from the response are lost and need to be resent, will it still work?

