ETK_Connect

 

 

서버와 연결합니다.

 

구문

     

BOOL __stdcall ETK_Connect (
        HWND                 hWnd,
        const char*        pszSvr,
        int                        nPort,
        int                        nStartMsgID,
        int                        nTimeOut,
        int                        nSendMaxPacketSize
)

 

매개변수

 

hWnd              
        Window Handle.
pszSvr            
        연결할 서버 IP
nPort            
        연결할 서버 Port
nStartMsgID      
        시작 MessageID
nTimeOut          
        연결시도 시간 - millisecond단위(1/1000초), -1 은 기본값(10초)으로 설정
nSendMaxPacketSize
        전송시 최대 Packet Size, -1은 기본값으로 설정

 

반환값

 

0(FALSE) 이면 실패
1(TRUE) 이면 성공

실패시
 ETK_GetLastError() 로 실패코드를 얻을 수 있습니다.
- 실패코드 -

XINGAPI_ERROR_SOCKET_CREATE_FAIL        

소켓생성 실패                                                                                        

XINGAPI_ERROR_CONNECT_FAIL                                

서버연결 실패                                                                                        

XINGAPI_ERROR_WRONG_ADDRESS                                

서버주소가 잘못되었음                                                        

XINGAPI_ERROR_CONNECT_TIMEOUT                        

연결시간 초과                                                                                        

XINGAPI_ERROR_ALREADY_CONNECT                        

이미 서버에 연결중이거나 연결시도중


 

설명

 

hWnd 는 XM_DISCONNECT를 보낼 때 여기에 등록한 윈도우로 보내게 됩니다.

nStartMsgID 는 Client 로 보낼 Message 의 시작 ID를 지정합니다.
Microsoft Windows는 사용자 Message를 사용할 수 있으며
0x400(=WM_USER) 이상의 Message를 사용할 수 있습니다.
그러므로 nStartMsgID는 0x400(=1024) 이상의 값이 들어와야 합니다.
Client 로 정의된 Message를 보낼 때는 nStartMsgID + 정의된 MessageID 로 보내게 됩니다.
예) XM_RECEIVE_DATA를 보낼 때는 nStartMsgID + XM_RECEIVE_DATA 로 보내게 됩니다.

nTimeOut 은 연결시도시간이며 이 시간이 초과할때까지 연결이 이루어지지 않으면 실패하게 됩니다.
기본값을 사용하되 인터넷이 느리거나 불안해서 Timeout 이 발생할 경우 사용하시기 바랍니다.

nSendPacketSize는 전송시 한번에 보낼 수 있는 최대 Data Size 입니다.
이 값을 설정하게 되면 설정한 크기 이상의 데이터를 전송할 경우 여러 번에 걸쳐서 전송하게 됩니다.
보통은 기본값을 사용하면 되나,
인터넷 공유기 등에서 최대 전송 Data Size를 제한하는 경우가 있으므로
전송 실패가 나는 경우에 최대 전송 Data Size 만큼 설정하시면 전송이 가능해질 수 있습니다.

 

예제

 

Visual C++

BOOL bConnect = ETK_Connect( GetSafeHwnd(), "hts.etrade.co.kr", 20001, WM_USER, 10, -1 );
if( bConnect == FALSE )
{
        MessageBox( "서버연결에 실패하였습니다.", "연결실패", MB_ICONSTOP );
}
else
{
        MessageBox( "서버와 연결되었습니다.", "연결성공", MB_ICONINFORMATION );
}

Visual Basic

bConnect = ETK_Connect( hwnd, "hts.etrade.co.kr", 20001, 1024, 10, -1 )
if bConnect = False then
        msgbox "서버연결에 실패하였습니다."
else
        msgbox "서버와 연결되었습니다."
end if

 

참고항목

 

ETK_IsConnected()
ETK_Disconnect()

ETK_IsConnected

 

 

서버와의 연결여부를 취득합니다.

 

구문

     

BOOL __stdcall ETK_IsConnected ( )

 

매개변수

 

 

반환값

 

0(FALSE) 이면 연결중이 아님
1(TRUE) 이면 연결중

 

설명

 

 

 

참고항목

 

ETK_IsConnected()
ETK_Disconnect()

ETK_Disconnect

 

 

서버와의 연결을 종료합니다.

 

구문

     

BOOL __stdcall ETK_Disconnect ( )

 

매개변수

 

 

반환값

 

무조건  1(TRUE)

 

설명

 

 

예제

 

참고항목

 

ETK_IsConnected()
ETK_Disconnect()

ETK_Login

 

 

서버에 로그인합니다.

 

구문

     

BOOL __stdcall ETK_Login (
        HWND                 hWnd,
        const char*        pszID,
        const char*        pszPwd,
        const char*        pszCertPwd,
        int                        nType,
        BOOL                bShowCertErrDlg
)

 

매개변수

 

hWnd              
        Window Handle.
pszID            
        로그인 ID
pszPwd            
        로그인 ID에 대한 비밀번호
pszCertPwd      
        공인인증 비밀번호
nType          
        로그인 Type
          0 : 실제투자로 로그인
          1 : 모의투자로 로그인
bShowCertErrDlg
        공인인증 과정에서 발생한 에러에 대해 미리 정의된 Dialog를 표시할지 여부

 

반환값

 

0 이 아니면 성공(로그인 성공이 아니라 서버로 로그인요청 전송성공을 의미)
0 이면 실패

 

설명

 

함수 호출을 하면 Return 값으로 로그인 성공/실패를 받을 수 있는 것이 아니라 로그인 결과는 hWnd에 등록한 윈도우로
Message(
XM_LOGIN)가 옵니다.
        
nType의 실제투자/모의투자 로그인은 서버를 지정하는 것이 아니라 서로 로그인 방식이 다르기 때문에 설정합니다.

bShowCertErrDlg 는 미리 정의된 Dialog를 사용하지 않고 따로 정의한 Dialog를 사용하거나 혹은 미리 정의된 Dialog를
표시하지 않기를 원할때 사용합니다.

Login 이 성공한 후에 프로그램 종료할 경우엔
 ETK_Logout() 을 호출하여야 합니다.

 

 

참고항목

 

XM_LOGIN
ETK_Logout()

ETK_Logout

 

 

서버에서 로그아웃합니다.

 

구문

     

BOOL __stdcall ETK_Logout (
        HWND         hWnd
)

 

매개변수

 

hWnd              
        Window Handle.

 

반환값

 

0 이 아니면 성공(로그아웃 성공이 아니라 서버로 로그아웃요청 전송성공을 의미)
0 이면 실패

 

설명

 

함수 호출을 하면 Return 값으로 로그인 성공/실패를 받을 수 있는 것이 아니라 로그인 결과는 hWnd에 등록한 윈도우로
Message(
XM_LOGOUT)가 옵니다.

Login 이 성공한 후에 프로그램을 종료할 경우에 호출하여야 합니다.

 

 

참고항목

 

XM_LOGOUT
ETK_Login()

ETK_GetServerName

 

 

접속한 서버의 이름을 취득합니다.

 

구문

     

void __stdcall ETK_GetServerName(
        char*                pszName
)

 

매개변수

 

pszName              
        데이터를 받을 Buffer, 최소 51바이트가 할당되어 있어야 합니다.

 

반환값

 

 

설명

 

접속한 서버의 서버명을 취득합니다.

 

 

참고항목

ETK_GetLastError

 

 

마지막에 발생한 Error Code를 취득합니다.

 

구문

     

int __stdcall ETK_GetLastError()

 

매개변수

 

 

반환값

 

Error Code

 

설명

 

 

 

참고항목

 

ETK_GetErrorMessage()

ETK_GetErrorMessage

 

 

Error Code에 대한 메시지를 취득합니다.

 

구문

     

int __stdcall ETK_GetErrorMessage(
        int                nErrorCode,
        char*                pszMsg,
        int                nMsgSize
)

 

매개변수

 

nErrorCode              
        Error Code
pszMsg            
        Message를 받을 Buffer, 충분한 메모리가 확보되어야 합니다.
nMsgSize              
        Buffer 크기

 

반환값

 

Message 길이

 

설명

 

Error Code에 대한 Message를 취득합니다.

 

 

참고항목

 

ETK_GetLastError()