All pastes #956402 Raw Edit

Stuff

public text v1 · immutable
#956402 ·published 2008-03-25 07:47 UTC
rendered paste body
public static byte[] CreatePacket(ref ForwardClass fStruct)
		{
			byte[] buf;
			byte[] tmpBuf;
			int len;
			MemoryStream stream;
			BinaryFormatter bFormatter;

			stream = new MemoryStream();
			bFormatter = new BinaryFormatter();
			bFormatter.Serialize(stream, fStruct);
			tmpBuf = stream.ToArray();
			stream.Close();

			len = tmpBuf.Length;
			if (len > 0xFFFF) throw new ArgumentOutOfRangeException();
			buf = new byte[len + 2];
			buf[0] = (byte)len;
			buf[1] = (byte)(len >> 8);
			Array.Copy(tmpBuf, 0, buf, 2, len);

			ForwardClass fff = ParsePacket(tmpBuf);
			return buf;
		}

		public static ForwardClass ParsePacket(byte[] buf)
		{
			ForwardClass fClass = null;
			MemoryStream stream;
			BinaryFormatter bFormatter;

			stream = new MemoryStream();
			stream.Write(buf, 0, buf.Length);
			stream.Flush();
			bFormatter = new BinaryFormatter();
			fClass = (ForwardClass)bFormatter.Deserialize(stream);
			stream.Close();

			return fClass;
		}