2.2.1 問い合わせメッセージの送信と応答メッセージの受信
ホスト(相手システム)へ同期型の問い合わせメッセージを送信し,応答を同期型のメッセージで受信します。
ホストへ問い合わせメッセージを送信するとき,UAPからsendrecv関数を呼び出します。問い合わせメッセージが複数のセグメントで構成される場合,セグメントの数だけsendrecv関数を呼び出す必要があります。UAPがメッセージのセグメントを送信し終わると,SLU - TypeP2は,ホストからの応答を待ちます。
ホストからの応答メッセージを受信すると,SLU - TypeP2はメッセージの先頭セグメントをUAPに返します。応答メッセージが複数のセグメントで構成される場合,UAPはrecvsync関数を呼び出して後続セグメントを受信できます。
SLU - TypeP2では,問い合わせ応答のデータ送受信時,ホストへ送信する応答識別(RQDまたはRQE)を指定することで,送信に対する応答(+RSPまたは-RSP)が必要かどうかを決定できます。応答を不要と指定すると,エラーが発生した場合だけ応答(-RSP)が送信されます。応答識別の指定については,「mcftalccn(コネクション定義の開始)」の-dオプションを参照してください。
また,ユーザの指定によっては,問い合わせメッセージ送信完了から応答メッセージ受信までの間,時間監視ができます。監視時間内に応答がない場合,同期送受信要求がエラーリターンします。
ホストからの応答メッセージがダミーメッセージ(0バイトデータ)の場合,データはUAPに通知されません。
自システムから複数セグメントメッセージを送信する場合,先頭または中間セグメントに対して否定応答(-RSP)を返さないで,最終セグメントに対して否定応答(-RSP)を返す相手システムと接続してください。
問い合わせメッセージの送信と応答メッセージの受信を次の図に示します。
|