/// <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); }
/// <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(); } }
/* 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); }
/// <summary> /// Отправляет кадр отмены передачи /// </summary> public void Abort() { byte[] CANCEL = { 0x18 }; ComManager.WriteToCom(CANCEL); }
/// <summary> /// Отправляет положительную квитанцию /// </summary> public void Acknowledge() { byte[] ACK = { 0x6 }; ComManager.WriteToCom(ACK); }
/// <summary> /// Отправляет заново информационный кадр /// </summary> private void SendAgain() { ComManager.WriteToCom(sFrame); }