protected byte[] makeSendBuffer(byte[] buff, TcpStreamDataType dtype) { byte[] result = new byte[buff.Length + NET_STREAM_PACK_LENGHT + NET_STREAM_DATATYPE_LENGHT]; byte[] length = BitConverter.GetBytes((long)buff.Length); ///записываем длинну данных Array.Copy(length, result, NET_STREAM_PACK_LENGHT); ///после длинны пишем тип Данных посылки result[NET_STREAM_PACK_LENGHT] = (byte)dtype; ///за типом пишем посылку Array.Copy(buff, 0, result, DATATYPE_OFFSET, buff.Length); return(result); }
protected byte[] parseSendBuffer(byte[] buffer, ref int recCount, out long lenght, out TcpStreamDataType dtp) { lenght = BitConverter.ToInt64(buffer, 0); byte[] result = new byte[lenght]; dtp = (TcpStreamDataType)buffer[NET_STREAM_PACK_LENGHT]; recCount = recCount - DATATYPE_OFFSET; Array.Copy(buffer, DATATYPE_OFFSET, result, 0, recCount); return(result); }