CybosPlus Communication

CybosPlus

CybosPlus Communication

대신증권의 통신은 Request/Reply ( RQ/RP ) 방식 Subscribe/Publish (SB/PB) 방식으로

나눠집니다. CybosPlus 통신 오브젝트는 가지 통신 모델 한가지만 지원합니다.

 

1. RQ/RP SB/PB 비교 [ 비동기식 (asynchronous) ]

입력 데이터를 채워넣고 통신을 요청(Request or Subscribe) 하면 함수가 바로 반환된다.

서버로부터 데이터가 수신되면 Received 이벤트가 발생하게 된다

 

- RQ/RP : 현시점의 데이타 1 통신 요청

image\ebx_864069682.gif

 

- SB/PB : 실시간 데이타 수신 요청

변경 시에만 이벤트가 발생합니다.

요청시점의 데이타를 얻기위해서는 먼저 RQ/RP 오브젝트로 구현한 이후에 사용하세요.

복수종목을 실시간으로 수신받으려면 1,2 항목을 반복하면 됩니다.

image\ebx_-1122784192.gif

 

2. RQ/RP 동기식 통신 지원

[ 동기식 (synchronous) ]

입력 데이터를 채워넣고 BlockRequest 메소드를 호출하면, 서버로 부터 응답이 완료 까지

대기상태를 유지한다. 데이터를 정상적으로 수신 후에 함수 리턴된다.

30 동안 서버로 부터 요청한 데이타를 수신하지 하면 타임아웃으로 처리된다.

BlockRequest 함수의 리턴값으로 통신결과 상태를 확인할 있다

image\ebx_2123210020.gif

 

3. RQ/RP 연속 데이타 통신

데이타 수신시에는 효율성을 고려하여 데이타의 적정 Size 있습니다.

모든 데이타를 한번의 요청으로 얻는 것이 아니라, 여러번 요청으로 데이터를 얻을 있습니다.

 

예를 들면, CYBOS 화면 7024,7026 처럼 시간대별, 일자별의 데이타의 양이 많습니다.

이런 경우 화면 우측 상단에 "다음" 버튼이 존재합니다.

"다음" 버튼이 활성화 되어 있다는 것은 현재 수신된 데이타 이후로 데이타가 존재한다는 의미입니다.

CybosPlus에서 CYBOS 화면 "다음" 버튼이 활성화 상태와 같은 의미로는

오브젝트에 공통 프로퍼티인 Continue True 상태입니다.

 

아래 그림과 같이 CybosPlus에서는 데이타를 수신 받고나서 Continue 속성을 체크합니다.

Continue Ture 것은 연속데이타가 있다는 의미이므로,

상태에서 통신을 요청하면(BlockRequest 또는 Request) 연속데이타를 얻을 있습니다.

 

( 다음 그림은 동기식(BlockRequest)으로 설명 것입니다. 비동기(Request)로도 연속 데이타 통신 구현이 가능합니다)

image\ebx_556396710.gif

 

오브젝트 설명에 연속데이타 통신이 가능한 경우 [연속여부]O 또는 X 구분하였습니다.
ex) StockWeek

설명

주식 종목에 대해 일자별 주가 데이터 (최고 10년치 데이터) 최근의 날로부터 일정 시점의 날까지 시가,고가,저가,종가,등락률,외인 비중 등등

통신종류

Request/Reply

연속여부

O

...

...