티스토리 뷰

XingAPI/개발가이드

서버 접속하기

히처리 2018. 3. 15. 16:54

xingAPI를 사용하기 위해서는 먼저 서버를 연결해야 한다. 서버를 연결하기 위해서 XASession클래스의 ConnectionServer()메서드를 사용한다. 이 예제는 "COM을 등록하는 방법"을 이어서 설명하도록 하겠다.

 

서버 접속하기

1. 디자인 영역에 다음과 같이 Button과 ListBox를 추가하고 각각의 속성을 변경한다.

 

2. 디자인 영역에 "Form 1"의 회색 영역(로그인 버튼 아래 부분)을 더블클릭하여 load 이벤트 소스를 추가하고, "로그인 버튼"을 더블클릭하여 click 이벤트 소스를 생성한다.

 

3. 아래와 같이 코드를 수정한다.

using System;
using System.Windows.Forms;
using XA_SESSIONLib;

namespace XingAPI
{
    public partial class Form1 : Form
    {
        XASessionClass session;

        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            session = new XASessionClass();
        }

        private void loginButton_Click(object sender, EventArgs e)
        {
            bool connectResult;
            connectResult = session.ConnectServer("demo.ebestsec.co.kr", 20001);

            if (connectResult)
            {
                listBox.Items.Add("서버 접속 성공");
            }
            else
            {
                var errCode = session.GetLastError();
                var errMsg = session.GetErrorMessage(errCode);
                MessageBox.Show(errMsg);
            }
        }
    }
}

4. F5(혹은 Ctrl + F5)를 눌러서 프로그램을 실행시키고 로그인 버튼을 누르면 아래와 같이 정상적으로 서버에 접속되는 것을 확인할 수 있다.

 

코드 설명

 

using XA_SESSIONLib;

서버에 접속을 하기 위해서 XASessionClass이 필요하다. 그래서 XASessionClass가 포함되어 있는 XA_SESSIONLib네임스페이스를 using을 이용하여 추가한다.

 

XASessionClass session;

XASessionClass 객체는 프로그램에서 계속 사용되기 때문에 Form1클래스의 멤버변수로 선언한다. 멤버변수로 선언하면 클래스가 소멸될 때까지 계속 사용할 수 있다.

private void Form1_Load(object sender, EventArgs e)
{
    session = new XASessionClass();
}

Form1_Load는 Form1이 생성되고 로드될 때 실행되는 이벤트 메서드이다. session은 참조타입이므로 new를 통해서 꼭 new를 이용하여 객체를 생성해주어야 한다. 이처럼 객체를 생성하는 것을 객체초기화라고 하는데, 일반적으로 Form의 멤버변수는 load이벤트에서 객체초기화를 한다.

private void loginButton_Click(object sender, EventArgs e)
{
    bool connectResult;
    connectResult = session.ConnectServer("demo.ebestsec.co.kr", 20001);

loginButton_Click()는 "loginButton"를 클릭할 때 실행되는 클릭 이벤트 메서드이다. 서버에 접속하기 위해서는 XASession.ConnectServer()를 이용한다. ConnectServer()는 이트레이드증권에서 제공하는 "xingAPI COM 객체 reference"에서 자세히 나온다. ConnectServer()호출시 결과값을 리턴하므로 bool타입인 connectResult에 결과값을 저장한다.

 

if (connectResult)
{
    listBox.Items.Add("서버 접속 성공");
}
else
{
    var errCode = session.GetLastError();
    var errMsg = session.GetErrorMessage(errCode);
    MessageBox.Show(errMsg);
}

connectResult가 true이면 서버연결에 성공했다는 의미지만, false이면 서버에 실패했다는 의미이다. 서버가 실패하면 GetLastError로 에러코드를 얻고, 에러코드가 어떤 의미인지 얻기 위해서 GetErrorMessage()를 이용하여 에러내용을 MessageBox.Show()를 이용하여 메시지박스를 발생시킨다.

'XingAPI > 개발가이드' 카테고리의 다른 글

반복 데이터 조회 (Occures)  (0) 2018.03.18
단일 데이터 조회  (0) 2018.03.15
로그인하기  (0) 2018.03.15
COM을 등록하는 방법  (1) 2018.03.15
XingAPI를 사용하기 위한 준비  (0) 2018.03.15
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함