Esempio n. 1
0
        private bool RecvFileStartAnswer()
        {
            int len = this.client_.RecvPacket();

            this.client_.CopyPacket(this.recvBuffer_, len);

            int   index     = 0;
            short cmdLen    = Tools.GetShort(recvBuffer_, ref index);
            short cmdValue  = Tools.GetShort(recvBuffer_, ref index);
            short status    = Tools.GetShort(recvBuffer_, ref index);
            long  existSize = Tools.GetLong(recvBuffer_, ref index);

            if (status != 0)
            {
                //说明失败
                TcpServer.GetInstance().ShowMessage("下载文件 "
                                                    + this.current_.path + " 失败: " + Tools.Hex2String(recvBuffer_, len));
                return(false);
            }

            if (existSize == this.current_.size)
            {
                //说明该文件已存在下位机
            }

            try
            {
                this.filestream_.Seek(existSize, SeekOrigin.Begin);
            }
            catch (System.Exception)
            {
                return(false);
            }

            return(true);
        }