Beispiel #1
0
 private void RichTextBoxLogChanged(object sender, SocStatusEventArgs e, string strStatus)
 {
     if (this.RichTextBoxLog.InvokeRequired)
     {
         CallbackRichTextBoxLog d = new CallbackRichTextBoxLog(RichTextBoxLogChanged);
         this.Invoke(d, new object[] { sender, e, strStatus });
     }
     else
     {
         this.RichTextBoxLog.AppendText(">" + strStatus + ":" + e.Status.socMessage + "\n");
         if (e.Status.exception != null)
         {
             if (e.Status.exception is SocketException)
             {
                 RichTextBoxLog.AppendText(string.Format(">Error: {0} : {1}",
                                                         ((SocketException)e.Status.exception).ErrorCode,
                                                         ((SocketException)e.Status.exception).Message) + "\n");
             }
             else
             {
                 this.RichTextBoxLog.AppendText(string.Format(">Error: {0}", e.Status.exception.Message) + "\n");
             }
         }
         this.RichTextBoxLog.ScrollToCaret();
     }
 }
Beispiel #2
0
 /// <summary>
 /// ftp listener가 준비완료되었을때.
 /// ==> ready message를 전송한다.
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void ProcessOnFTPReadyToListen(object sender, SocStatusEventArgs e)
 {
     if (mFtpServer.isListening())
     {
         OnFTPReadyToListen(e);
     }
 }
Beispiel #3
0
        private void AppendConsoleMsg(object sender, SocStatusEventArgs e, string msg)
        {
            if (this.RichTextBoxLog.InvokeRequired)
            {
                SetThreadSocMsgConsoleCallback d = new SetThreadSocMsgConsoleCallback(AppendConsoleMsg);
                this.Invoke(d, new object[] { sender, e, msg });
            }
            else
            {
                if (e.Status.socMessage != null && e.Status.socMessage.Trim() != "")
                {
                    RichTextBoxLog.AppendText(">" + e.Status.socMessage + "\n");
                }
                if (msg != null && msg.Trim() != "")
                {
                    RichTextBoxLog.AppendText(">" + msg + "\n");
                }

                if (e.Status.exception != null)
                {
                    if (e.Status.exception is SocketException)
                    {
                        RichTextBoxLog.AppendText(string.Format(">Error: {0} : {1}",
                                                                ((SocketException)e.Status.exception).ErrorCode,
                                                                ((SocketException)e.Status.exception).Message));
                    }
                    else
                    {
                        RichTextBoxLog.AppendText(string.Format(">Error: {0}", e.Status.exception.Message));
                    }
                }
                RichTextBoxLog.ScrollToCaret();
            }
        }
        /// <summary>
        /// 메시지 수신 처리
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        public void ProcessOnMessageReceived(object sender, SocStatusEventArgs e)
        {
            string msg = e.Status.Data.Substring(MsgDef.MSG_TEXT.Length + 1); //"MSG|..."

            lastMessageReceivedTime = Utils.TimeKey();
            MsgFilter(msg, (IPEndPoint)e.Status.Soc.RemoteEndPoint);
        }
        private void ProcessOnTCPStatusChanged(object sender, SocStatusEventArgs e)
        {
            string strStatus = "";

            switch (e.Status.Status)
            {
            case SocHandlerStatus.UNINIT:
                strStatus = "UNINIT";
                break;

            case SocHandlerStatus.CONNECTED:
                strStatus = "CONNECTED";
                break;

            case SocHandlerStatus.DISCONNECTED:
                strStatus = "DISCONNECTED";
                break;

            case SocHandlerStatus.ERROR:
                strStatus = "ERROR";
                break;

            case SocHandlerStatus.RECEIVING:
                strStatus = "RECEIVING";
                break;

            case SocHandlerStatus.SENDING:
                strStatus = "SENDING";
                break;
            }
            Logger.info(e.Status);
        }
        protected virtual void OnFTPReadyToListen(SocStatusEventArgs e)
        {
            EventHandler <SocStatusEventArgs> handler = FTPReadyToListen;

            if (handler != null)
            {
                owner.Invoke(handler, this, e);
            }
        }
Beispiel #7
0
        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()));
            }
        }
Beispiel #8
0
 private void ButtonCancelStatusChanged(object sender, SocStatusEventArgs e)
 {
     if (this.ButtonStopReceiving.InvokeRequired)
     {
         CallbackCancelButtonStatus d = new CallbackCancelButtonStatus(ButtonCancelStatusChanged);
         this.Invoke(d, new object[] { sender, e });
     }
     else
     {
         //ButtonStopReceiving.Enabled = !ButtonStopReceiving.Enabled;
     }
 }
Beispiel #9
0
 private void UpdateFTPStatus(object sender, SocStatusEventArgs e)
 {
     if (this.ProgressBarFileReceiving.InvokeRequired)
     {
         SetThreadSocMsgCallback d = new SetThreadSocMsgCallback(UpdateFTPStatus);
         this.Invoke(d, new object[] { sender, e });
     }
     else
     {
         mCurTransferSize += e.Status.bufferSize;
         ProgressBarFileReceiving.Value = (int)(mCurTransferSize * (long)100 / mFileSize);
     }
 }
Beispiel #10
0
 private void TextBoxSocketStatusChanged(object sender, SocStatusEventArgs e, string strStatus)
 {
     if (this.TextBoxSocketStatus.InvokeRequired)
     {
         CallbackTextBoxSocketStatus d = new CallbackTextBoxSocketStatus(TextBoxSocketStatusChanged);
         this.Invoke(d, new object[] { sender, e, strStatus });
     }
     else
     {
         AddEventsLogMessage(strStatus);
         //UpdateListBoxSelectedItemIndicesTextBox();
     }
 }
Beispiel #11
0
 private void ProgressBarStatusChanged(object sender, SocStatusEventArgs e)
 {
     if (this.ProgressBarFileReceiving.InvokeRequired)
     {
         CallbackProgressBarFileStream d = new CallbackProgressBarFileStream(ProgressBarStatusChanged);
         this.Invoke(d, new object[] { sender, e });
     }
     else
     {
         this.ProgressBarFileReceiving.Value = (int)(100 * e.Status.fileSizeDone / e.Status.FileSize);
         Logger.info("ProgressBarFileReceiving.Value=" + ProgressBarFileReceiving.Value);
     }
 }
Beispiel #12
0
 private void ProgressBarFileBegin(object sender, SocStatusEventArgs e)
 {
     if (this.ProgressBarFileReceiving.InvokeRequired)
     {
         CallbackProgressBarFileBegin d = new CallbackProgressBarFileBegin(ProgressBarFileBegin);
         this.Invoke(d, new object[] { sender, e });
     }
     else
     {
         this.ProgressBarFileReceiving.Visible = true;
         Logger.info("ProgressBarFileReceiving.Visible=" + ProgressBarFileReceiving.Visible);
     }
 }
Beispiel #13
0
        private void UpdateButtonSendingText(object sender, SocStatusEventArgs e)
        {
            if (this.ButtonFileSend.InvokeRequired)
            {
                SetThreadSocMsgButtonCallback d = new SetThreadSocMsgButtonCallback(UpdateButtonSendingText);
                this.Invoke(d, new object[] { sender, e });
            }
            else
            {
                ButtonFileSend.Text = "파일전송";
                mIsSending          = false;

                FTP_END();
            }
        }
Beispiel #14
0
        private void SocStatusChanged(object sender, SocStatusEventArgs e)
        {
            UpdateMsgStatus(sender, e);

            if (e.Status.status == SocHandlerStatus.FTP_SENDING)
            {
                UpdateFTPStatus(sender, e);
            }
            else if (e.Status.status == SocHandlerStatus.FTP_END ||
                     e.Status.status == SocHandlerStatus.FTP_CANCELED ||
                     e.Status.status == SocHandlerStatus.FTP_SERVER_CANCELED)
            {
                UpdateButtonSendingText(sender, e);
            }

            AppendConsoleMsg(sender, e, "");
        }
Beispiel #15
0
        private void UpdateMsgStatus(object sender, SocStatusEventArgs e)
        {
            if (this.TextBoxSocketStatus.InvokeRequired)
            {
                SetThreadSocMsgLabelCallback d = new SetThreadSocMsgLabelCallback(UpdateMsgStatus);
                this.Invoke(d, new object[] { sender, e });
            }
            else
            {
                string strStatus = "";
                switch (e.Status.status)
                {
                case SocHandlerStatus.UNINIT:
                    strStatus = "UNINIT";
                    break;

                case SocHandlerStatus.CONNECTED:
                    strStatus = "CONNECTED";
                    break;

                case SocHandlerStatus.DISCONNECTED:
                    strStatus = "DISCONNECTED";
                    break;

                case SocHandlerStatus.ERROR:
                    strStatus = "ERROR";
                    break;

                case SocHandlerStatus.RECEIVING:
                    strStatus = "RECEIVING";
                    break;

                case SocHandlerStatus.SENDING:
                    strStatus = "SENDING";
                    break;
                }
                AddEventsLogMessage(strStatus);
            }
        }
 /// <summary>
 /// ftp listener가 준비완료되었을때.
 /// ==> ready message를 전송한다.
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void ProcessOnFTPReadyToListen(object sender, SocStatusEventArgs e)
 {
     if (mFtpServer.isListening())
         OnFTPReadyToListen(e);
 }
 protected override void ProcessOnConnectionError(object sender, SocStatusEventArgs e)
 {
     mSocClient.Close();
     _internalHandleOnError("FTP접속에러");
     OnConnectionError(new FTPStatusEventArgs(e.Status, this.receiverId));
 }
 /// <summary>
 /// MsgClientManager발생 로그처리
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void ProcessOnManagerStatusChanged(object sender, SocStatusEventArgs e)
 {
     Logger.info(e.Status.SocMessage);
 }
 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));
 }
 protected virtual void TcpClientStatusChanged(object sender, SocStatusEventArgs e)
 {
     OnSocStatusChanged(e);
 }
 protected virtual void ProcessOnMessageReceived(object sender, SocStatusEventArgs e)
 {
     OnMessageReceived(e);
     switch (e.Status.Cmd)
     {
         case MsgDef.MSG_BYE:
             CloseOnCloseMsgReceived();
             break;
     }
 }
Beispiel #23
0
 public virtual void OnSocStatusChangedOnInfo(SocStatusEventArgs e)
 {
     if (Logger.level >= LOGLEVEL.INFO)
         OnSocStatusChanged(e);
 }
 private void ProcessOnTCPConnectionError(object sender, SocStatusEventArgs e)
 {
     Logger.info(e.Status.SocMessage);
     this.OnServerCheckFailed();
 }
Beispiel #25
0
        private void ProcessOnSocStatusChanged(object sender, SocStatusEventArgs e)
        {
            switch (e.Status.Status)
            {
                case SocHandlerStatus.RECEIVING:
                    LogWrite("수신 메시지 : " + e.Status.Data); 
                    if (e.Status.Cmd.Equals(MsgDef.MSG_TEXT))// 메시지 형식 "MSG|...."
                    {
                        string msg = e.Status.Data.Substring(MsgDef.MSG_TEXT.Length+1);


                        int mode = getMode(msg);
                        ArrayList list = new ArrayList();
                        list.Add(mode);
                        list.Add(msg);
                        list.Add(e.Status.Soc);
                        Thread msgThread = new Thread(new ParameterizedThreadStart(receiveReq));
                        msgThread.Start(list);
                    }
                    break;
                default:
                    break;
            }
            string logMsg = e.Status.SocMessage;
            if (e.Status.exception != null)
            {
                if (e.Status.exception is SocketException)
                    logMsg += "\n" + string.Format("Socket Error: {0} : {1}",
                        ((SocketException)e.Status.exception).ErrorCode,
                        ((SocketException)e.Status.exception).Message) + "\n";
                else
                    logMsg += "\n" + string.Format(">Received Socket Error: {0}", e.Status.exception.Message) + "\n";
            }
            LogWrite(logMsg);        
        }
        /// <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(senderId, fileName, fileSize, mKey);
                        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;

            }
        }
 /// <summary>
 /// 메시지 수신 처리
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 public void ProcessOnMessageReceived(object sender, SocStatusEventArgs e)
 {
     string msg = e.Status.Data.Substring(MsgDef.MSG_TEXT.Length+1); //"MSG|..."
     lastMessageReceivedTime = Utils.TimeKey();
     MsgFilter(msg, (IPEndPoint)e.Status.Soc.RemoteEndPoint);
 }
 private void ProcessOnTCPStatusChanged(object sender, SocStatusEventArgs e)
 {
     string strStatus = "";
     switch (e.Status.Status)
     {
         case SocHandlerStatus.UNINIT:
             strStatus = "UNINIT";
             break;
         case SocHandlerStatus.CONNECTED:
             strStatus = "CONNECTED";
             break;
         case SocHandlerStatus.DISCONNECTED:
             strStatus = "DISCONNECTED";
             break;
         case SocHandlerStatus.ERROR:
             strStatus = "ERROR";
             break;
         case SocHandlerStatus.RECEIVING:
             strStatus = "RECEIVING";
             break;
         case SocHandlerStatus.SENDING:
             strStatus = "SENDING";
             break;
     }
     Logger.info(e.Status);
 }
 private void ProcessOnTCPConnectionError(object sender, SocStatusEventArgs e)
 {
     Logger.info(e.Status.SocMessage);
     this.OnServerCheckFailed();
 }
 public void DisplayFTPStatusOnStatusChanged(object sender, SocStatusEventArgs e)
 {
     Logger.info(e.Status);
 }
Beispiel #31
0
        private void SocStatusChanged(object sender, SocStatusEventArgs e)
        {
            //Logger.info("Form1.OnSocStatusChanged:"+e.Status.socMessage);

            string strStatus = "";

            switch (e.Status.status)
            {
            case SocHandlerStatus.UNINIT:
                strStatus = "UNINIT";
                break;

            case SocHandlerStatus.CONNECTED:
                strStatus = "CONNECTED";
                break;

            case SocHandlerStatus.DISCONNECTED:
                strStatus = "DISCONNECTED";
                break;

            case SocHandlerStatus.ERROR:
                strStatus = "ERROR";
                break;

            case SocHandlerStatus.RECEIVING:
                strStatus = "RECEIVING";
                break;

            case SocHandlerStatus.SENDING:
                strStatus = "SENDING";
                break;

            case SocHandlerStatus.LISTENING:
                strStatus = "LISTENING";
                break;

            case SocHandlerStatus.STOP:
                strStatus = "STOP";
                break;
            }

            if (e.Status.ftpStatus == FTPStatus.RECEIVE_STREAM)
            {
                ProgressBarStatusChanged(sender, e);
            }

            if (e.Status.ftpStatus == FTPStatus.RECEIVED_FILE_INFO)
            {
                ProgressBarFileBegin(sender, e);
                ButtonCancelStatusChanged(sender, e);
            }
            if (e.Status.ftpStatus == FTPStatus.SENT_DONE)
            {
                ProgressBarFileEnd(sender, e);
                ButtonCancelStatusChanged(sender, e);
            }

            RichTextBoxLogChanged(sender, e, strStatus);

            TextBoxSocketStatusChanged(sender, e, strStatus);
        }
        public virtual void OnSocStatusChanged(SocStatusEventArgs e)
        {
            EventHandler<SocStatusEventArgs> handler = SocStatusChanged;

            if (handler != null)
            {
                handler(this, e);
            }
        }
 public void OnTCPMsgReceived(SocStatusEventArgs e)
 {
     EventHandler<SocStatusEventArgs> handler = TCPMsgReceived;
     if (handler != null)
         handler(this, e);
 }
        public virtual void OnMessageReceived(SocStatusEventArgs e)
        {
            EventHandler<SocStatusEventArgs> handler = MessageReceived;

            if (handler != null)
            {
                handler(this, e);
            }
        }
Beispiel #35
0
 public virtual void OnSocStatusChanged(SocStatusEventArgs e)
 {
     EventHandler<SocStatusEventArgs> handler = SocStatusChanged;
     if (handler != null)
         handler(this, new SocStatusEventArgs(e.Status.Clone()));
 }
 protected virtual void ProcessOnConnectionError(object sender, SocStatusEventArgs e)
 {
     ForceClose();
     OnConnectionError(e);
 }
Beispiel #37
0
 /// <summary>
 /// FTP리스너 기동상태로 서버에 FTP_READY_TO_SVR 전송
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 public void ProcessOnFTPReadyToListen(object sender, SocStatusEventArgs e)
 {
     connection.SendMsgAcceptFTP(rcvObj);//구성(Y|파일명|파일Key|수신자id)
 }
Beispiel #38
0
 public void DisplayFTPStatusOnStatusChanged(object sender, SocStatusEventArgs e)
 {
     Logger.info(e.Status);
 }
 public override void OnSocStatusChanged(SocStatusEventArgs e)
 {
     if (e.Status.Status == SocHandlerStatus.ERROR)
         closeFTPConnection(e.Status);
     base.OnSocStatusChanged(e);
 }
 protected override void TcpClientStatusChanged(object sender, SocStatusEventArgs e)
 {
     OnSocStatusChanged(e);
 }
 protected virtual void OnFTPReadyToListen(SocStatusEventArgs e)
 {
     EventHandler<SocStatusEventArgs> handler = FTPReadyToListen;
     if (handler != null)
         owner.Invoke(handler,this, e);
 }
Beispiel #42
0
 public void OnReadyToListen(SocStatusEventArgs e)
 {
     EventHandler<SocStatusEventArgs> handler = ReadyToListen;
     if (handler != null)
         handler(this, e);
 }
 /// <summary>
 /// FTP리스너 기동상태로 서버에 FTP_READY_TO_SVR 전송
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 public void ProcessOnFTPReadyToListen(object sender, SocStatusEventArgs e)
 {
     connection.SendMsgAcceptFTP(rcvObj);//구성(Y|파일명|파일Key|수신자id)
 }
Beispiel #44
0
 public virtual void OnSocStatusChangedOnDebug(SocStatusEventArgs e)
 {
     if (Logger.level >= LOGLEVEL.DEBUG)
         OnSocStatusChanged(e);
 }
        public void OnFTPListenRequested(SocStatusEventArgs e)
        {
            EventHandler<SocStatusEventArgs> handler = FTPListenRequested;

            if (handler != null)
            {
                handler(this, e);
            }
        }
Beispiel #46
0
 public virtual void OnSocStatusChangedOnError(SocStatusEventArgs e)
 {
     if (Logger.level >= LOGLEVEL.ERROR)
         OnSocStatusChanged(e);
 }
 /// <summary>
 /// MsgClientManager발생 로그처리
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void ProcessOnManagerStatusChanged(object sender, SocStatusEventArgs e)
 {
     Logger.info(e.Status.SocMessage);
 }