예제 #1
0
        public static NetPackage[] ContentCreate(NetCommandType commandID, byte[] data, IPEndPoint iep)
        {
            int contentID = NetPackage.GenerateContentID();

            int max_pkg_sz = 384;
            int offset     = 0;
            int order      = 1;
            int count      = (data.Length + max_pkg_sz - 1) / max_pkg_sz;

            NetPackage[] packages = new NetPackage[count];

            int length = data.Length;

            while (length != 0)
            {
                int    sz  = Math.Min(384, length);
                byte[] buf = new MemoryStream(data, offset, sz).ToArray();
                packages[order - 1] = (NetPackage.Create(contentID, order, commandID, count, buf, iep));

                order++;
                offset += sz;
                length -= sz;
            }

            return(packages);
        }