2.7 XATMIインタフェース機能
RPCでは,送受信できるデータの長さに制限があります。画像など,情報量の大きなデータは,RPCで規定されているデータ長を超えてしまう場合があります。TP1/Clientでは,XATMIインタフェース機能の一つである会話型サービスの通信を使用して,データを送受信できます。
会話型サービスの通信では,大きなデータをパケットと呼ばれるまとまりに分割します。分割されたパケットを数回に分けて送信することで,全体として一つのデータが送信されたことになります。
会話型サービスの通信を開始する場合,tpalloc関数を呼び出して,型付きのバッファを割り当てます。割り当て完了後,tpconnect関数を呼び出して,通常のメッセージ送受信と同様にコネクションを確立します。メッセージ送受信は,XATMIインタフェース機能のtprecv関数およびtpsend関数を呼び出して行います。メッセージ送受信を終了するときは,tpdiscon関数を呼び出してコネクションを切断し,tpfree関数によって型付きのバッファを解放します。会話型サービス時にエラーが発生した場合は,リターン値が返されます。
なお,TP1/Clientで使用できるXATMIインタフェース機能は,会話型サービスの通信だけです。
XATMIインタフェース機能の会話型サービスで通信する場合の処理の流れを,次の図に示します。