예제 #1
0
        /// <summary>
        /// Отправляет кадр начала передачи
        /// </summary>
        /// <param name="fileName">Имя файла</param>
        public void SendFile(string fileName, string filesize)
        {
            byte[] BEGIN = new byte[Encoding.Unicode.GetByteCount(fileName + filesize + "\n" + "Размер файла:") + 1];
            BEGIN[0] = 0x25;
            string inf = fileName + "\n" + "Размер файла:" + filesize;

            // Encoding.Unicode.GetBytes(fileName, 0, fileName.Length, BEGIN, 1);
            Encoding.Unicode.GetBytes(inf, 0, inf.Length, BEGIN, 1);
            ComManager.WriteToCom(BEGIN);
        }
예제 #2
0
        /// <summary>
        /// Отправляет информационный кадр или EOF
        /// </summary>
        private void SendData()
        {
            byte[] DATA      = new byte[64];
            int    bytesRead = FormsManager.ReadFromFile(DATA);

            if (bytesRead > 0)
            {
                Array.Resize(ref DATA, bytesRead);
                sFrame = Encode(DATA);
                ComManager.WriteToCom(sFrame);
            }
            else
            {
                byte[] EOF = { 0x4 };
                ComManager.WriteToCom(EOF);
                FormsManager.SendSuccess();
            }
        }
예제 #3
0
 /*    public void SendFileSize(string fileName, string filesize)
  * {
  *
  *     byte[] BEGIN = new byte[Encoding.Unicode.GetByteCount(fileName) + 1];
  *     BEGIN[0] = 0x25;
  *     Encoding.Unicode.GetBytes(filesize, 0, filesize.Length, BEGIN, 1);
  *     ComManager.WriteToCom(BEGIN);
  *
  * }*/
 /// <summary>
 /// Отправляет отрицательную квитанцию
 /// </summary>
 private void NotAcknowledge()
 {
     byte[] NAK = { 0x14 };
     ComManager.WriteToCom(NAK);
 }
예제 #4
0
 /// <summary>
 /// Отправляет кадр отмены передачи
 /// </summary>
 public void Abort()
 {
     byte[] CANCEL = { 0x18 };
     ComManager.WriteToCom(CANCEL);
 }
예제 #5
0
 /// <summary>
 /// Отправляет положительную квитанцию
 /// </summary>
 public void Acknowledge()
 {
     byte[] ACK = { 0x6 };
     ComManager.WriteToCom(ACK);
 }
예제 #6
0
 /// <summary>
 /// Отправляет заново информационный кадр
 /// </summary>
 private void SendAgain()
 {
     ComManager.WriteToCom(sFrame);
 }