/// <summary> /// 다른 사용자(들)에게 파일 전송 준비 /// </summary> /// <param name="list">파일 전송 대상자 목록</param> /// <param name="filename">파일명</param> /// <param name="timekey">파일전송시간(여러 파일전송작업 간 구분키가 됨)</param> public bool NotifyFileSend(List <MemberObj> receiverList, string fileName, string formKey) { bool result = false; try { FileInfo fi = new FileInfo(fileName); long fileSize = fi.Length; //파일 정보 보내기(F|파일명|파일크기|파일key|전송자id) foreach (MemberObj receiver in receiverList) { if (Members.ContainLoginUserNode(receiver.Id)) //전송대상자가 로그인 상태인 경우 { //msgClient.NotifyFTPStart(new IPEndPoint(Utils.getIPfromHost(mHostName), SocConst.FTP_PORT), MsgDef.FTP_ON_SERVER, mFullFileName, mFileSize); this.SendMsgNotifyFileInfo(fileName, fileSize, formKey, receiver.Id); SendFileForms.AddClientKey(fileName, fileSize, receiver.Id, formKey); } else { //전송대상자가 로그아웃 상태인 경우 } } result = true; } catch (Exception exception) { Logger.error(exception.ToString()); } return(result); }
private void _StartFileSending() { try { Logger.info("파일전송시작"); ButtonFTPStart.Visible = false; ButtonCancel.Left += 40; label_result.Text = "전송 대기중"; //전송 상태 자세히 보기 생성 connection.SendMsgNotifyFileInfo(sendObj.FileName, sendObj.FileSize, this.formKey, sendObj.ReceiverId); SendFileForms.AddClientKey(sendObj.FileName, sendObj.FileSize, sendObj.ReceiverId, this.formKey); sendFileTimer.Start(); } catch (Exception exception) { Logger.error(exception.ToString()); } }