Я пытаюсь отправить строку Base64 скриншота на сервер через NetworkStream и, кажется, я получаю полную строку, проблема это омлет ...StreamReader.Read текст из строя
I предположим, что это имеет какое-то отношение к тому, что оно фрагментировано и объединяется? Что бы надлежащим образом идти об этом ...
код клиента
byte[] ImageBytes = Generics.Imaging.ImageToByte(Generics.Imaging.Get_ScreenShot_In_Bitmap());
string StreamData = "REMOTEDATA|***|" + Convert.ToBase64String(ImageBytes);
SW.WriteLine(StreamData);
SW.Flush();
код сервера
char[] ByteData = new char[350208];
SR.Read(ByteData, 0, 350208);
string Data = new string(ByteData);
File.WriteAllText("C:\\RecievedText", Data);
Также размер отправленного сообщения и массив символов точно так же, . \
EDIT: После беспорядка с ним еще немного я понял, что текст не скремблирован, но правильный текст - это tra iling предыдущего потока. Как я могу убедиться, что поток очищен или получает весь текст?
Первая проблема: вы вызываете 'SR.Read', но игнорируете возвращаемое значение. Зачем? Я очень * очень сомневаюсь, что это действительно «скремблировано» - я подозреваю, что вы неправильно изучаете проблему, если честно ... но вы не предоставили нам достаточно данных для продолжения. –
Просто для удовольствия попробуйте помещать StreamWriter в блок 'using'. –
@Jon Все, что я делаю в данный момент, сразу записывает буфер в текстовый файл для сравнения выходов. Текст writtentext полностью скремблирован и не соответствует порядку по сравнению с оригинальным отправленным текстом – user2379231