Hitachi

OpenTP1 Version 7 分散トランザクション処理機能 TP1/Client for .NET Framework 使用の手引


2.4.3 受信メッセージの組み立て機能

Client .NETの受信メッセージの組み立て機能を使用すると,メッセージの送信時に,メッセージの先頭4バイトにメッセージ長エリアを付与します。また,メッセージの受信時には,メッセージの先頭4バイトをメッセージ長エリアとして扱います。このため,TP1/NET/TCP/IPの受信メッセージの組み立て機能を使用して送受信されるメッセージのメッセージ長エリアを,CUP.NET側で意識する必要がなくなります。

〈この項の構成〉

(1) メッセージ送信時の処理

CUP.NETからTP1ClientクラスのSendAssembledMessageメソッドを呼び出すと,Client .NETがメッセージの先頭4バイトにメッセージ長エリアを付与して相手システムに送信します。Client .NETは,メッセージ長をネットワークバイトオーダーで設定します。

TP1ClientクラスのSendAssembledMessageメソッドを使用するためには,Client .NET構成定義で<tcpip>要素のtype属性にsendまたはsendrecvを指定しておく必要があります。

メッセージ送信時の処理を次の図に示します。

図2‒13 メッセージ送信時の処理

[図データ]

(凡例)

LL:メッセージ長

(2) メッセージ受信時の処理

CUP.NETからTP1ClientクラスのReceiveAssembledMessageメソッドを呼び出してメッセージの受信要求をすると,受信したメッセージの先頭4バイトをメッセージ長エリアとして扱います。Client .NETは,メッセージ長エリアを基にメッセージを組み立て,メッセージ長エリアを取り除いた状態でCUP.NETに通知します。Client .NETでは,メッセージ長エリアに設定された値をネットワークバイトオーダーでチェックするため,相手システムでもメッセージ長をネットワークバイトオーダーで設定してください。

TP1ClientクラスのReceiveAssembledMessageメソッドを使用するためには,Client .NET構成定義で<tcpip>要素のtype属性にsendまたはsendrecvを指定しておく必要があります。

メッセージ受信時の処理を次の図に示します。

図2‒14 メッセージ受信時の処理

[図データ]

(凡例)

LL:メッセージ長