Я пишу клиент-серверное приложение. У меня есть некоторые структуры данных, которые я хочу отправить по сети от клиента к серверу. Я представляю их как массив байтов определенного размера. Сервер и клиент знают об этой структуре.
Моя цель - отправить группы структур и дождаться подтверждения от сервера, что они были получены и правильно сохранены на его стороне.
Моя идея состояла в том, чтобы создать простой код.
Клиентская сторона:
- подключиться к серверу;
- подготовить список структур;
- в цикле отправляет их в виде байтовых массивов в сеть с помощью метода Stream.Write (...). Тогда Flush ();
- дождитесь ответа сервера о том, сколько данных он может сохранить.
- повторить все с шага 2.
Серверная сторона:
- принять клиентское соединение;
- принимать данные до конца (Stream.Read () не хочет определять, что конец данных может быть из-за того, что соединение еще живо);
- сохранить все данные на диск;
- отправить ответ о количестве сохраненных данных клиенту, используя то же клиентское соединение, которое использовалось для получения данных от клиента.
Проблема заключалась в том, что на стороне сервера я не смог определить конец группы данных, отправленной клиентом.
как сделать все, что я хочу, райт?