XML : Missing letters when sending serialized XML file over socket C#

I serialize class object to XML and trying sending over TCP Socket, this is what I succesfully sent (Im sending only DateTime property) (from the Server): = File: SENT.XML

  <?xml version="1.0"?>  <ArrayOfBitmapTransfer xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">    <BitmapTransfer>      <Datetime>2016-01-06T21:15:52.189</Datetime>    </BitmapTransfer>  </ArrayOfBitmapTransfer>    

And this is what I receive on the client = File: RECIEVED.XML

  nsfer>on="1.0"?>  <ArrayOfBitmapTransfer xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">    <BitmapTransfer>      <Datetime>2016-01-06T21:15:52.189</Datetime>    </BitmapTransfer>  </ArrayOfBitmapTransfer>on="1.0"?>  <ArrayOfBitmapTransfer xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">    <BitmapTransfer>      <Datetime>2016-01-06T21:15:52.189</Datetime>    </BitmapTransfer>  </ArrayOfBitmapTra    

There are missing letters and It seems it was sent two times.

BUT When I send plain text e.g. "Hello, My name is John" - everything is delivered OK and there are not missing letters or duplicity.

Codes:

  /// <summary>  /// Serializes Array of Bitmaps to byte array  /// </summary>  internal byte[] Serialize(BitmapTransfer[] bitmaps)  {      using (MemoryStream memoryStream = new MemoryStream())      {          XmlSerializer xs = new XmlSerializer(typeof(BitmapTransfer[]));          xs.Serialize(memoryStream, bitmaps);          System.IO.File.WriteAllText(@"C:\sent.xml", Encoding.Default.GetString(bitmaps));          return memoryStream.ToArray();      }  }      /// <summary>  /// Deserializes byte array to BitmapTransfer array  /// </summary>  internal BitmapTransfer[] Deserialize(byte[] data)  {      using (MemoryStream stream = new MemoryStream(data))      {          XmlSerializer formatter = new XmlSerializer(typeof(BitmapTransfer[]));          File.WriteAllText(@"C:\recieved.xml", System.Text.Encoding.Default.GetString(data));          return (BitmapTransfer[])formatter.Deserialize(stream);      }  }    

No comments:

Post a Comment