Exemple #1
0
        private void Connect_Click(object sender, EventArgs e)
        {
            bool isConnected = session.IsConnected();

            if (isConnected == false)
            {
                // 접속 URL 셋업
                if (chkPaperTrading.Checked)
                {
                    // 모의투자인 경우 접속하는 URL이 다름
                    ConnectURL = "demo.etrade.co.kr";
                    // session.ConnectServer("demo.ebestsec.co.kr", 20001);
                }
                else
                {
                    // 실거래는 여기로 접속되도록 처리
                    ConnectURL = "hts.etrade.co.kr";
                    // session.ConnectServer("hts.ebestsec.co.kr", 20001);
                }
                // 접속요청
                bool bSession = session.ConnectServer(ConnectURL, 20001);
                if (bSession == true)
                {
                    // 연결 정상, 로그인 요청
                    // 인풋값중 맨 마지막 boolean 값은 공인인증서 에러 표시위한 옵션.
                    if (session.Login(txtID.Text, txtPassword.Text, txtPasswordIn.Text, 0, false))
                    {
                        LogBox.Items.Add("로그인 서버전송 완료");
                    }
                    else
                    {
                        // 로그인 요청안됨. 에러
                        LogBox.Items.Add("로그인 서버전송에 실패하였습니다.");
                    }
                }
                else
                {
                    // 연결 비정상처리
                    int    nErrCode  = session.GetLastError();
                    string strErrMsg = session.GetErrorMessage(nErrCode);
                    // 연결 안됨 처리
                    LogBox.Items.Add("연결 에러");
                    LogBox.Items.Add("에러코드: [" + nErrCode + "] ");
                    LogBox.Items.Add(strErrMsg);
                }
            }
            else
            {
                // 연결처리가 된 상태이므로 패스
            }
        }
Exemple #2
0
        private void timer1_Tick(object sender, EventArgs e)
        {
            if (!session.IsConnected())
            {
                timer1.Stop();

                noti.BalloonTipIcon  = ToolTipIcon.Warning;
                noti.BalloonTipText  = "Disconnect Xing";
                noti.BalloonTipTitle = "Disconnect Xing";
                noti.ShowBalloonTip(5000);

                var player = new System.Media.SoundPlayer();
                player.Stream = Properties.Resources.통신단절;
                player.Play();
            }
        }
Exemple #3
0
        private void CleanResources()
        {
            if (_xingSession == null)
            {
                return;
            }

            if (_loggedIn == true)
            {
                _xingSession.Logout();
            }

            if (_xingSession.IsConnected() == true)
            {
                _xingSession.DisconnectServer();
            }

            if (_xingSession != null)
            {
                Marshal.ReleaseComObject(_xingSession);
                _xingSession = null;
            }
        }
Exemple #4
0
        private void timer1_Tick(object sender, EventArgs e)
        {
            if (!session.IsConnected())
            {
                timer1.Stop();
                timer1.Enabled       = false;
                isLogoned            = false;
                btnReal.Enabled      = true;
                btnLogin.Enabled     = true;
                noti.BalloonTipIcon  = ToolTipIcon.Warning;
                noti.BalloonTipText  = "Disconnect Xing";
                noti.BalloonTipTitle = "Disconnect Xing";
                noti.ShowBalloonTip(5000);

                var player = new System.Media.SoundPlayer();
                player.Stream = Properties.Resources.통신단절;
                player.Play();

                var task = Atman.Chakra.ExApi.TelegramBotApi.SendMessageAsync("시세 연결이 끊어짐");

                //Task.Factory.StartNew(() => {
                //    System.Threading.Thread.Sleep(1000 * 30);
                //    this.Invoke(new MethodInvoker(() =>
                //    {
                //        btnLogin.PerformClick();
                //    }));
                //});

                //Task.Factory.StartNew(() => {
                //    System.Threading.Thread.Sleep(1000 * 30);
                //    this.Invoke(new MethodInvoker(() =>
                //    {
                //        btnReal.PerformClick();
                //    }));
                //});
            }
        }