У меня возникла эта ошибка, когда я пытаюсь загрузить что-то в MemoryStream
. Я пытаюсь отправить изображение (в потоке байтов) через сеть через сервер. Но каждый раз, когда я пытаюсь отправить его, он говорит:Поток был достигнут до завершения обработки
Окончание потока было достигнуто до завершения обработки.
Строка с ошибкой помечается в коде ниже
namespace Model_Library
{
[Serializable]
public class Package
{
public List<object> DATA;
public int ID;
public PackageType packetType;
public Package(PackageType u_type, int u_ID)
{
DATA = new List<object>();
this.ID = u_ID;
this.packetType = u_type;
}
public Package(byte[] packetBytes)
{
using (MemoryStream ms = new MemoryStream(packetBytes))
{
BinaryFormatter bf = new BinaryFormatter();
Package p = (Package)bf.Deserialize(ms); //Here is the error
ID = p.ID;
DATA = p.DATA;
packetType = p.packetType;
}
}
public byte[] toBytes()
{
BinaryFormatter bf = new BinaryFormatter();
MemoryStream ms = new MemoryStream();
bf.Serialize(ms, this);
byte[] bytes = ms.ToArray();
ms.Close();
return bytes;
}
}
public enum PackageType
{
connect,
login,
registration,
friends,
message,
message_confirmation,
load_history,
search_friends,
add_friend
}
}
Попробуйте установить положение потока в начало потока – reggaeguitar
Я уже пробовал «ms.Position = 0 ;» но у меня такая же ошибка – Tiremo
ошибок нет с вашим кодом с простым объектом? – Ewan