public virtual void OnSocStatusChangedOnDebug(SocStatusEventArgs e) { if (Logger.level >= LOGLEVEL.DEBUG) { OnSocStatusChanged(e); } }
public virtual void OnSocStatusChangedOnInfo(SocStatusEventArgs e) { if (Logger.level >= LOGLEVEL.INFO) { OnSocStatusChanged(e); } }
public FTPStatusEventArgs(SocStatusEventArgs e, string msg, string printMsg, int index) { status = e.Status; this.msg = msg; this.printMsg = printMsg; this.progressIndex = index; }
public virtual void OnSocStatusChangedOnError(SocStatusEventArgs e) { if (Logger.level >= LOGLEVEL.ERROR) { OnSocStatusChanged(e); } }
public override void OnSocStatusChanged(SocStatusEventArgs e) { if (e.Status.Status == SocHandlerStatus.ERROR) { closeFTPConnection(e.Status); } base.OnSocStatusChanged(e); }
public void OnTCPMsgReceived(SocStatusEventArgs e) { EventHandler <SocStatusEventArgs> handler = TCPMsgReceived; if (handler != null) { handler(this, e); } }
public virtual void OnSocStatusChanged(SocStatusEventArgs e) { EventHandler <SocStatusEventArgs> handler = SocStatusChanged; if (handler != null) { handler(this, new SocStatusEventArgs(e.Status.Clone())); } }
public void OnConnectionError(SocStatusEventArgs e) { EventHandler <SocStatusEventArgs> handler = ConnectionError; if (handler != null) { handler(this, e); } }
public override void OnSocStatusChanged(SocStatusEventArgs e) { EventHandler <FTPStatusEventArgs> handler = FTPStatusChanged; if (handler != null) { handler(this, new FTPStatusEventArgs(e.Status.Clone(), this.receiverId)); } }
public virtual void OnSocStatusChanged(SocStatusEventArgs e) { EventHandler <SocStatusEventArgs> handler = SocStatusChanged; if (handler != null) { handler(this, e); } }
public virtual void OnMessageReceived(SocStatusEventArgs e) { EventHandler <SocStatusEventArgs> handler = MessageReceived; if (handler != null) { handler(this, e); } }
public void OnReadyToListen(SocStatusEventArgs e) { EventHandler <SocStatusEventArgs> handler = ReadyToListen; if (handler != null) { handler(this, e); } }
public void OnFTPListenRequested(SocStatusEventArgs e) { EventHandler <SocStatusEventArgs> handler = FTPListenRequested; if (handler != null) { handler(this, e); } }
protected virtual void ProcessOnMessageReceived(object sender, SocStatusEventArgs e) { OnMessageReceived(e); switch (e.Status.Cmd) { case MsgDef.MSG_BYE: CloseOnCloseMsgReceived(); break; } }
public virtual void OnMessageReceived(SocStatusEventArgs e) { EventHandler <SocStatusEventArgs> handler = MessageReceived; if (handler != null) { Logger.info("OnMessageReceived:" + e.Status.Data); handler(this, new SocStatusEventArgs(e.Status.Clone())); } }
protected override void ServerMgrStatusChanged(object sender, SocStatusEventArgs e) { if (e.Status.Cmd == MsgDef.MSG_BYE) { Stop(); } if (e.Status.Status == SocHandlerStatus.RECEIVING && e.Status.FtpStatus == FTPStatus.RECEIVE_STREAM) { int index = (int)(e.Status.FileSizeDone * (long)100 / e.Status.FileSize); string msg = "수신중(" + index + " %)"; string printMsg = "수신중(" + index + " %)"; Logger.info("ServerMgrStatusChanged: msg=" + msg); OnFTPReceivingProgressed(new FTPStatusEventArgs(e, msg, printMsg, index)); } else if (e.Status.Status == SocHandlerStatus.FTP_END) { string msg = "수신완료"; string printMsg = string.Format("파일 수신이 완료되었습니다.({0})", e.Status.FileName); Logger.info("ServerMgrStatusChanged: msg=" + msg); OnFTPReceivingFinished(new FTPStatusEventArgs(e, msg, printMsg)); } else if (e.Status.Status == SocHandlerStatus.FTP_SERVER_CANCELED) { string msg = "수신취소"; string printMsg = string.Format("파일 수신이 취소되었습니다.({0})", e.Status.FileName); Logger.info("ServerMgrStatusChanged: msg=" + msg); OnFTPReceivingCanceled(new FTPStatusEventArgs(e, msg, printMsg)); } else if (e.Status.Status == SocHandlerStatus.FTP_CANCELED) { string msg = "수신취소"; string printMsg = string.Format("전송자가 파일 전송을 취소되었습니다.({0})", e.Status.FileName); Logger.info("ServerMgrStatusChanged: msg=" + msg); OnFTPReceivingCanceled(new FTPStatusEventArgs(e, msg, printMsg)); } else if (e.Status.Status == SocHandlerStatus.ERROR) { string msg = "수신실패"; string printMsg = string.Format("파일 수신이 실패하였습니다.({0})", e.Status.FileName); Logger.info("ServerMgrStatusChanged: msg=" + msg); OnFTPReceivingFailed(new FTPStatusEventArgs(e, msg, printMsg)); } base.OnSocStatusChanged(e); }
protected virtual void ProcessOnConnectionError(object sender, SocStatusEventArgs e) { ForceClose(); OnConnectionError(e); }
protected virtual void TcpClientStatusChanged(object sender, SocStatusEventArgs e) { OnSocStatusChanged(e); }
protected override void ProcessOnConnectionError(object sender, SocStatusEventArgs e) { mSocClient.Close(); _internalHandleOnError("FTP접속에러"); OnConnectionError(new FTPStatusEventArgs(e.Status, this.receiverId)); }
/// <summary> /// TcpClient인 경우 처리 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected virtual void ProcessOnMessageReceived(object sender, SocStatusEventArgs e) { //OnMessageReceived(e); switch (e.Status.Cmd) { case MsgDef.MSG_TEXT: { OnTCPMsgReceived(e); break; } case MsgDef.MSG_BYE: //처리없음 break; case MsgDef.MSG_FTP_INFO_TO_RCV: //받는쪽. 파일전송의사가 전달됨 //1. 서버로 재전송 { //string msg = e.Status.Data.Substring(MsgDef.MSG_TEXT.Length+1); //"MSG|..." //this.Send(e.Status.Data); //2. 하위단에서 이벤트처리토록 둠. OnManagerStatusChanged(string.Format("2단계 서버 =>전송자 파일전송공지[{0}]", e.Status.Data)); string[] msgToken = e.Status.Data.Split(SocConst.TOKEN); string senderId = msgToken[1]; string fileName = msgToken[2]; long fileSize = Convert.ToInt64(msgToken[3]); string mapKey = SocUtils.GenerateFTPClientKey(mKey, fileName, fileSize, senderId); FTPRcvObj rcvObj = new FTPRcvObj((IPEndPoint)e.Status.Soc.RemoteEndPoint, mapKey, fileName, fileSize, senderId); OnFTPSendingNotified(new SocFTPInfoEventArgs <FTPRcvObj>(rcvObj)); break; } case MsgDef.MSG_FTP_READY_TO_SND: //header|(senderid|ip)|filename|filesize|(receiverId|ip or m) 'm'은 서버 { //수신준비된것이 확인됨.==> FTP기동 //필요한 인자: 파일정보, 수신자정보 OnManagerStatusChanged(string.Format("4단계 서버=>전송자 파일수신준비완료[{0}]", e.Status.Data)); string[] msgToken = e.Status.Data.Split(SocConst.TOKEN); string fileName = msgToken[2]; long fileSize = Convert.ToInt64(msgToken[3]); string receiverId = msgToken[4]; string mapKey = SocUtils.GenerateFTPClientKey(mKey, fileName, fileSize, receiverId); FTPSendObj sendObj = mFileInfoMap[mapKey]; string fullFileName = sendObj.FileName; if (mFileInfoMap.ContainsKey(mapKey)) { mFileInfoMap.Remove(mapKey); } StartFTP(sendObj.RemoteEndPoint, receiverId, fullFileName, fileSize); Thread thServer = new Thread(new ParameterizedThreadStart(SendFile)); thServer.Start((object)mapKey); OnFTPSendingAccepted(new SocFTPInfoEventArgs <FTPSendObj>(sendObj)); break; } case MsgDef.MSG_FTP_REJECT_TO_SND: //header|(senderid|ip)|filename|filesize|(receiverId|ip or m) 'm'은 서버 { //파일전송의사가 전달됨 //처리없음 OnManagerStatusChanged(string.Format("4단계 서버=>전송자 파일수신준비거부[{0}]", e.Status.Data)); string[] msgToken = e.Status.Data.Split(SocConst.TOKEN); string fileName = msgToken[2]; long fileSize = Convert.ToInt64(msgToken[3]); string receiverId = msgToken[4]; string mapKey = SocUtils.GenerateFTPClientKey(mKey, fileName, fileSize, receiverId); FTPSendObj sendObj = mFileInfoMap[mapKey]; OnFTPSendingRejected(new SocFTPInfoEventArgs <FTPSendObj>(sendObj)); break; } default: break; } }
public FTPStatusEventArgs(SocStatusEventArgs e, string msg, string printMsg) { status = e.Status; this.msg = msg; this.printMsg = printMsg; }
protected virtual void ServerMgrStatusChanged(object sender, SocStatusEventArgs e) { OnSocStatusChanged(e); }
protected override void TcpClientStatusChanged(object sender, SocStatusEventArgs e) { OnSocStatusChanged(e); }
public void ProcessOnFTPListenRequested(object sender, SocStatusEventArgs e) { OnFTPListenRequested(e); }
public void ProcessOnReadyToListen(object sender, SocStatusEventArgs e) { OnReadyToListen(e); }