제3장 COM 라이브러리

본 장에서는 COM 라이브러리에서 제공하는 각각의 API에 대한 사용법을 설명한다. COM 라이브러리의 프로토타입은 comhead.h 헤더 파일에 정의되어 있다.

3.1. 개요

COM 라이브러리는 리모트 노드에서 Tmax의 SVCGW와 TCP/IP로 통신할 수 있도록 Tmax에서 제공하는 라이브러리이다. SVCGW와 통신을 원하는 리모트 노드는 반드시 COM 라이브러리를 사용하여 통신해야 한다. 리모트 노드의 사용자는 COM 라이브러리를 이용하여 Tmax과 TCP/IP로 서비스를 요청하거나 또는 서비스 요청을 받을 수 있다. 리모트 노드의 사용자 쪽에서는 Tmax과 통신할 때 통신 관련 부분을 COM 라이브러리에서 처리하여 보다 쉽게 Tmax의 서비스를 이용할 수 있다.

리모트 노드에서 Tmax과 TCP/IP로 통신하는 경우에는 항상 Tmax이 서버 모드가 되고, 리모트 노드 단이 클라이언트 모드가 된다.

다음은 COM 라이브러리에서 제공하는 API 목록이다.

API설명
ComOpenTmax의 SVCGW와 TCP/IP로 연결을 맺고 리모트 노드를 SVCGW에 등록하는 함수이다.
ComDetachTmax의 SVCGW와의 등록을 해제하기 위해서 사용하는 함수이다.
ComCloseTmax의 SVCGW와의 등록을 해제하고 연결을 끊는 함수이다.
ComSend리모트 노드에서 Tmax의 SVCGW로 데이터를 전송하는 함수이다.
ComRecvTmax의 SVCGW로부터 데이터를 수신하는 함수이다.

3.2. ComOpen

Tmax의 SVCGW와 TCP/IP로 연결을 맺고 리모트 노드를 SVCGW에 등록하는 함수이다. Tmax의 SVCGW의 환경 파일의 서비스명 항목에 서비스명을 등록하지 않았으면 함수를 이용하여 반드시 서비스명을 등록해야 한다. 서비스명이 등록되지 않았으면 리모트 노드에서 Tmax으로 서비스는 요청할 수 있으나 반대로 Tmax에서 리모트 노드로 서비스는 요청할 수 없다. 사용자는 다른 함수를 사용하기 전에 반드시 함수를 사용하여 Tmax의 SVCGW와 연결해야 한다.

3.3. ComDetach

Tmax의 SVCGW와의 등록을 해제하기 위해서 사용하는 함수이다. 함수는 등록만 해제하고 실질적인 연결을 끊지 않는다. 함수를 사용하면 Tmax의 SVCGW와 데이터를 송수신할 수 없다.

3.4. ComClose

Tmax의 SVCGW와 등록을 해제하고 연결을 끊는 함수이다. 그러므로 Tmax의 SVCGW와 통신을 끊고자 하는 경우에는 반드시 함수를 호출해야만 한다.

3.5. ComSend

리모트 노드에서 Tmax의 SVCGW로 데이터를 전송하는 함수이다. 함수를 이용하여 Tmax에 서비스를 요청하거나 또는 응답을 전송할 수 있다. Tmax의 서비스 요청에 대한 응답을 보낼 경우에도 반드시 Tmax의 새로운 서비스명을 지정해야 한다.

3.6. ComRecv

Tmax의 SVCGW로부터 데이터를 수신하는 함수이다. 데이터는 서비스 요청일 수도 있고, 응답 데이터일 수도 있다.