Hitachi

OpenTP1 Version 7 分散トランザクション処理機能 OpenTP1 プログラム作成リファレンス C言語編


dc_mcf_sendrecv

〈このページの構成〉

名称

同期型のメッセージの送受信

形式

形式については,マニュアル「OpenTP1 プロトコル」の該当するプロトコル編を参照してください。

機能

相手システムへ,稼働中のUAPの処理で論理メッセージを送信して,応答を受信します。UAPからdc_mcf_sendrecv関数を呼び出してから,関数に指定した論理端末にメッセージを送信し終わり,応答が返ってくるまで,dc_mcf_sendrecv関数は待ちます。このように,UAPからのdc_mcf_sendrecv関数の呼び出しと同期して,論理メッセージを送受信します。

メッセージの最終セグメントをdc_mcf_sendrecv関数で送信して,MCFがメッセージを送信すると,dc_mcf_sendrecv関数は応答待ちの状態になります。

dc_mcf_sendrecv関数では,セグメント単位で論理メッセージを送信します。論理メッセージが一つのセグメントから構成される場合は,dc_mcf_sendrecv関数を1回呼び出して送信します。論理メッセージが複数のセグメントから構成される場合は,必要なセグメントの数だけdc_mcf_sendrecv関数を呼び出して,一つの論理メッセージを送信します。

論理端末からの応答メッセージのセグメントをMCFですべて受け取ると,最終セグメントを送信したdc_mcf_sendrecv関数で,先頭セグメントだけを受信します。中間セグメント以降は,dc_mcf_recvsync関数で受信します。

受信できる一つのセグメントの最大長は,1メガバイトまでです。また,送信できるメッセージの一つのセグメント長は,32,000バイトまでです。ただし,プロトコルによって,実際の最大長が異なる場合があります。詳細については,マニュアル「OpenTP1 プロトコル」の該当するプロトコル編を参照してください。

dc_mcf_sendrecv関数がセグメントを送信するMCFの領域は,MCFで使う領域と,送信するメッセージのセグメントから構成されます。

引数に設定する値と関数のリターン値は,使う通信プロトコルによって異なります。詳細については,マニュアル「OpenTP1 プロトコル」の該当するプロトコル編を参照してください。