Пытаюсь передать сообщение между клиентом сервером. Проблема в том, что сообщение передается не полностью.
Пока временно решил проблему установкой задержки при чтении передаваемых данных на сервере (Thread.Sleep).
Подскажите, есть ли более изящный способ гарантированного получения всех передаваемых данных?
stream = client.GetStream();
byte[] data = new byte[655360]
StringBuilder builder = new StringBuilder();
int bytes = 0;
do
{
bytes = stream.Read(data, 0, data.Length);
builder.Append(Encoding.UTF8.GetString(data, 0, bytes));
Thread.Sleep(5); //Без задержки сообщение принимается не полностью
}
while (stream.DataAvailable);
string message = builder.ToString();