Я пытаюсь десериализовать поток, но всегда получаю сообщение об ошибке «Конец потока обнаружен до завершения анализа»?

//Some code here BinaryFormatter b = new BinaryFormatter(); return (myObject)b.Deserialize(s);//s—> is a Stream object that has been fill up with data some line over here

У кого-нибудь есть идеи?

Комментарии (2)

В дополнение к проблемам с позиционированием потока, указанным ниже, это может произойти еще по одной причине, потому что ваше приложение завершает работу до того, как файл большой будет записан на диск (если вы сериализуете большой объем данных в файловый поток). Чтобы исправить это, вам нужно реализовать ожидание блокировки, пока файл полностью не будет записан, как в этом посте: stackoverflow.com/questions/10982104/…

Для меня удаление сохраненного файла данных из «C: Users AppData LocalLow » исправило это, потому что проблема заключалась в том, что я изменил модели данных после сохранения файла, который сделал модель существующих данных в файле другой и сделал он выдает ошибки при десериализации. Надеюсь, это поможет.

ошибка конец потока или бесконечно грузит при входе на сервер minecraft (решение)

20.11.2008 22:48

Всплывающая подсказка — это небольшое всплывающее текстовое окно, которое появляется, когда пользователь наводит указатель на элемент.

React Native — это популярный фреймворк с открытым исходным кодом, используемый для разработки мобильных приложений. Он был разработан компанией.

Рассмотрите возможность использования следующих инструментов

Краудсорсинговые мобильные приложения могут быть успешными, если они включают в себя несколько ключевых особенностей и стратегий:

LeetCode — это популярная онлайн-платформа, которая предлагает большую коллекцию задач и проблем по кодированию, чтобы помочь инженерам-программистам.

В JavaScript вы можете сделать HTTP-запрос, используя объект XMLHttpRequest или более новый API fetch. Вот пример для обоих методов:

Читайте также:  Самые популярные серверы Майнкрафт в России

Перейти к ответу Данный вопрос помечен как решенный

Ответы 6

Ответ принят как подходящий

Попробуйте установить позицию вашего потока равной 0 и использовать не свой объект, а тип объекта.

BinaryFormatter b = new BinaryFormatter(); s.Position = 0; return (YourObjectType)b.Deserialize(s);
Комментарии (1)

Привет, у меня такая же проблема, но после вставки s.Position = 0; Я получаю «Поток не поддерживает поиск»

20.11.2008 22:48

Убедитесь, что сериализация завершена, и что тип сериализации соответствует типу десериализации (т.е. убедитесь, что вы сериализуете с помощью BinaryFormatter, если вы выполняете десериализацию с одним). Кроме того, убедитесь, что сериализованный поток действительно завершил сериализацию с помощью Stream.Flush () или чего-то подобного.

20.11.2008 23:00

В моем случае я использовал:

stream.Seek(0, SeekOrigin.Begin);

После того, как я сериализовал поток, и до того, как я десериализовал поток, работает очарование. надеюсь это поможет!

Alia Ramli Ramli

29.04.2015 18:01

У меня было такое же исключение, пока я не добавил тег [Serializable] в класс, который я сериализовал 🙂

Тогда все заработало отлично.

Это была моя проблема

Это тоже была моя проблема. Мой сериализованный класс ссылался на другой класс, у которого не было сериализуемого тега.

22.05.2017 03:41

Я потратил 5 часов и получил ошибку конца потока и потерянные данные (неочевидная функция в GzipStream: вы должны использовать базовый поток только после сброса GzipStream).

Полный пример рабочего кода:

using System; using System.IO; using System.IO.Compression; using System.Runtime.Serialization; using System.Runtime.Serialization.Formatters.Binary; namespace ConsoleApp3 < class Program < static void Main(string[] args) < string large = LargeJsonContent.GetBigObject(); string base64; using (var readStream = new MemoryStream()) using (var writeStream = new MemoryStream()) < using (GZipStream compressor = new GZipStream(writeStream, CompressionMode.Compress, true)) //pay attention to leaveOpen = true < var formatter = new BinaryFormatter(); formatter.Serialize(readStream, large); Console.WriteLine($»After binary serialization of JsonString: bytes»); readStream.Position = 0; readStream.CopyTo(compressor); > Console.WriteLine($»Compressed stream size: bytes»); writeStream.Position = 0; byte[] writeBytes = writeStream.ToArray(); base64 = Convert.ToBase64String(writeBytes); > //// using (var stream = new MemoryStream()) < var formatter = new BinaryFormatter(); formatter.Serialize(stream, base64); Console.WriteLine($»Size of base64: bytes»); > Console.WriteLine(«———————«); //// string large2; var bytes = Convert.FromBase64String(base64); using (var readStream = new MemoryStream()) < readStream.Write(bytes, 0, bytes.Length); readStream.Position = 0; Console.WriteLine($»Compressed stream size: bytes»); using (var writeStream = new MemoryStream()) < using (GZipStream decompressor = new GZipStream(readStream, CompressionMode.Decompress, true)) //pay attention to leaveOpen = true < decompressor.CopyTo(writeStream); writeStream.Position = 0; >var formatter = new BinaryFormatter(); large2 = (string)formatter.Deserialize(writeStream); > > Console.WriteLine(large == large2); Console.WriteLine($»large: | large2:»); > > >
21.11.2019 17:56

Читайте также:  Чит Майнкрафт 1 17

Проверьте свой код отправителя, если вы не делаете следующее

NetworkStream strm = client.GetStream(); // the stream formatter.Serialize(strm, status); // the serialization process strm.Close();// Remove this code, this was the culprit in my case
28.09.2020 13:24

Другие вопросы по теме

Масштабировать шрифты вместе с элементами управления

Любой умный способ исправить предупреждение о том, что строковые или двоичные данные будут усечены с помощью LINQ

Источник: reddeveloper.ru

Соединение потеряно конец потока майнкрафт

Соединение потеряно конец потока майнкрафт

Соединение потеряно конец потока майнкрафт

Соединение потеряно конец потока майнкрафт

Соединение потеряно конец потока майнкрафт

Соединение потеряно конец потока майнкрафт

Соединение потеряно конец потока майнкрафт

Соединение потеряно конец потока майнкрафт

Соединение потеряно конец потока майнкрафт

Соединение потеряно конец потока майнкрафт

Соединение потеряно конец потока майнкрафт

Соединение потеряно конец потока майнкрафт

Соединение потеряно конец потока майнкрафт

Соединение потеряно конец потока майнкрафт

Соединение потеряно конец потока майнкрафт

Соединение потеряно конец потока майнкрафт

Соединение потеряно конец потока майнкрафт

Соединение потеряно конец потока майнкрафт

Соединение потеряно конец потока майнкрафт

Соединение потеряно конец потока майнкрафт

Соединение потеряно конец потока майнкрафт

Соединение потеряно конец потока майнкрафт

Соединение потеряно конец потока майнкрафт

Соединение потеряно конец потока майнкрафт

Соединение потеряно конец потока майнкрафт

Соединение потеряно конец потока майнкрафт

Соединение потеряно конец потока майнкрафт

Соединение потеряно конец потока майнкрафт

Соединение потеряно конец потока майнкрафт

Соединение потеряно конец потока майнкрафт

Соединение потеряно конец потока майнкрафт

Соединение потеряно конец потока майнкрафт

Соединение потеряно конец потока майнкрафт

Соединение потеряно конец потока майнкрафт

Источник: frogexcela.xoom.it

Вылетает с сервера minecraft соединение потеряно

Менять выделение оперативы ставить аргументы для майна. Иногда выходит по причине превышено время ожидания, либо программа на вашем хост-компьютере разорвала соединение. При заходе , серв прогружается и появляется тайтл и кикает с сервера с ошибкой потеряно соединение с сервером пожалуйста помогите список некоторых плугов tittlemanager, joincommands, multiworld, autosaveworld итд. Вопросы и ответы связанные с играми и игровыми устройствами.

Читайте также:  Как собрать Лего Майнкрафт лошадь

Через определенный промежуток времени, во время того как я играю на любом сервере, меня выкидывает из него с ошибкой. Смотреть новый антибан по жд hwid warface (потеряно соединение с сервером)01. Создаю с подругой свой сервер, раньше заходило все прекрасно, даже построили спавн, но после того, как я решила немного увеличить чанки, чтобы сделать скрин готового, с начала у меня багала часть мира. Как только мы хотим к нему подключится мы отправляем ему пакет(ы)(сокетное соединение, транспортный уровень), количество пакетов зависит от обьёма данных для отправки.

Популярные запросы

  • Вылетает с сервера террария
  • Вылетает с сервера minecraft соединение потеряно
  • Вылетает с сервера майнкрафт соединение потеряно

Источник: redactor-online.ru