示例#1
0
        public void SendFile(string fileName)
        {
            SendFileManager sendFileManager = new SendFileManager(fileName);

            if (SendFileManagerList.ContainsKey(sendFileManager.MD5))
            {
                throw new Exception(string.Format(
                                        "文件 {0} 正在发送,不能发送重复的文件。",
                                        fileName));
            }
            else
            {
                SendFileManagerList.Add(sendFileManager.MD5, sendFileManager);
                sendFileManager.ReadFileBuffer += new ReadFileBufferEventHandler(
                    SendFileManageReadFileBuffer);
                TraFransfersFileStart ts = new TraFransfersFileStart(
                    sendFileManager.MD5,
                    sendFileManager.Name,
                    Icon.ExtractAssociatedIcon(fileName).ToBitmap(),
                    sendFileManager.Length,
                    sendFileManager.PartCount,
                    sendFileManager.PartSize);
                Send((int)Command.RequestSendFile, ts);
            }
        }
示例#2
0
 public FileSendBufferEventArgs(
     SendFileManager sendFileManager,
     int size)
     : base()
 {
     _sendFileManager = sendFileManager;
     _size            = size;
 }
示例#3
0
        private void SendFileManageReadFileBuffer(
            object sender, ReadFileBufferEventArgs e)
        {
            SendFileManager  sendFileManager = sender as SendFileManager;
            TraFransfersFile ts = new TraFransfersFile(
                sendFileManager.MD5, e.Index, e.Buffer);

            Send((int)Command.RequestSendFilePack, ts);
        }
示例#4
0
 public void SendFile(SendFileManager sendFileManager, Image image)
 {
     if (SendFileManagerList.ContainsKey(sendFileManager.MD5))
     {
         throw new Exception(string.Format(
                                 "文件 {0} 正在发送,不能发送重复的文件。",
                                 sendFileManager.FileName));
     }
     else
     {
         SendFileManagerList.Add(sendFileManager.MD5, sendFileManager);
         sendFileManager.ReadFileBuffer += new ReadFileBufferEventHandler(
             SendFileManageReadFileBuffer);
         TraFransfersFileStart ts = new TraFransfersFileStart(
             sendFileManager.MD5,
             sendFileManager.Name,
             image,
             sendFileManager.Length,
             sendFileManager.PartCount,
             sendFileManager.PartSize);
         Send((int)Command.RequestSendFile, ts);
     }
 }
示例#5
0
 public bool CanSend(SendFileManager sendFileManager)
 {
     return(!SendFileManagerList.ContainsKey(sendFileManager.MD5));
 }
示例#6
0
 public FileSendEventArgs(SendFileManager sendFileManager)
     : base()
 {
     _sendFileManager = sendFileManager;
 }