Skip to content

실시간 대용량 시세, 뉴스 등의 데이터 수집 프로그램

Notifications You must be signed in to change notification settings

wkjung0624/realtime-market-data-receiver

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📈 Realtime Market Data Receiver 📈

  • 서버로부터 대용량 시세, 뉴스 정보실시간으로 전달받는 프로그램입니다.
  • UDP 프로토콜을 사용하며 서버에 실시간 시세 조회 요청을 보낸 후 데이터를 수신받습니다.

💊 클래스 설명 💊

  • Initialize(): 클라이언트 초기화 메서드로 서버 IP 및 포트로 연결할 소켓을 생성합니다.
  • Subscribe(): 특정 서버에 연결하고 실시간 시세 정보를 요청합니다.
  • StartMessageReceiveLoop(): 서버로부터 메시지를 수신하고 데이터를 파싱하여 주가 정보를 추출합니다. 주가 정보를 실시간으로 가져오는 역할을 수행합니다.
  • UnSubscribe(): 실시간 시세 조회 요청을 해제하는 기능이 필요한데, 아직 미구현된 상태입니다.
  • Close(): 클라이언트 소켓을 닫고 서버와의 연결을 종료합니다.

🗒 UDP Payload 구조 설명 🗒

  • Client Request Payload
    : 서버에 아래 데이터 구조로 Request 를 보냅니다.

    [-------------------전체 (4096byte)--------------------]
    [ [요청 헤더(1byte)] [상세 내용(1024byte)] [기타(3071byte)] ]
    [-----------------------------------------------------]

  • 요청 헤더: 특정 값에 따라 서버와의 작업을 식별하며, 구분값은 아래 표 내용과 같습니다

  • 상세 내용: 요청 헤더별 payload 가 입력되는 공간이며, 아직 미구현된 상태입니다.

  • 기타: 인증, 체크섬, 기타 등의 정보가 입력되는 공간이며, 아직 미구현된 상태입니다.

헤더 구분 설명
0x01 서버 접속 / 서버 등록
0x10 실시간 시세 조회 요청 등록
0x20 실시간 시세 조회 요청 해제
0xFF 접속 종료 / 서버 등록 해제 요청

  • Server Response Payload
    : 서버로부터 아래 데이터 구조로 Response 를 받습니다.

    [-------------------전체 (4096byte)--------------------]
    [ [종목코드 (7byte)] [거래량 (8byte)] ]
    [ [종가 (4byte)] [타임스탬프 (8byte)] ]
    [-----------------------------------------------------]

  • 종목코드: 종목코드를 의미하며, string 타입의 값입니다.

  • 종가: 현재 주가를 의마하며, int 타입의 값입니다.

  • 거래량: 당일 거래량으로 long 타입의 값입니다.

  • 타임스탬프: 데이터 생성 시점으로 Unixtime 형식입니다.


🚀 실행방법 🚀

  1. 데이터 송신 서버가 기 동작 상태여야 합니다.

서버 프로그램은 여기를 클릭하시면 확인하실 수 있습니다.

  1. Terminal 에서 dotnet run 을 입력합니다.
  2. 동작 여부를 확인합니다.
스크린샷 2023-12-14 오전 11 03 45

About

실시간 대용량 시세, 뉴스 등의 데이터 수집 프로그램

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages