Hitachi

OpenTP1 Version 7 分散トランザクション処理機能 OpenTP1 プロトコル TP1/NET/User Datagram Protocol編


2.1.3 通信相手のアドレスの指定

任意の通信相手とメッセージを送受信するために,TP1/NET/UDPでは相手アドレス指定用の制御ヘッダをメッセージに付加して使用します。

メッセージの送信時には,制御ヘッダに指定する相手のアドレスを変更することで,送信のたびに相手を変更できます。メッセージの受信時には,TP1/NET/UDPがメッセージの先頭に制御ヘッダを付加します。

通信相手のアドレスを指定するための制御ヘッダの形式を次の図に示します。

図2‒5 制御ヘッダの形式

[図データ]

メッセージの送信時には,制御ヘッダの所定の領域に通信相手のIPアドレスポート番号を設定する必要があります。

IPアドレスは16進数形式で設定します。dotted-decimal形式では指定できません。ポート番号は10進数を16進数形式に変換したあと,2バイト表記で設定します。予備領域はすべてゼロクリアしてください。

制御ヘッダに設定するIPアドレスとポート番号の例を次の図に示します。

図2‒6 通信相手のIPアドレスとポート番号の設定例

[図データ]

メッセージの受信時には,TP1/NET/UDPが通信相手のIPアドレスとポート番号を制御ヘッダの所定の領域に設定します。この内容を利用して,送信元のアドレスを識別できます。ホスト名が必要な場合は,設定されたIPアドレスを基にgethostbyaddr()関数などを使用して,UAPまたはUOCで取得してください。

なお,通信相手のIPアドレスとIPポート番号のバイト順序は,ビッグエンディアンでなければなりません。ビッグエンディアンとは,バイトを低い方から順番に並べて,最下位のビットを最上位のバイトに置く方式のことです。ビッグエンディアンでのバイト順序を次の図に示します。

図2‒7 ビッグエンディアンでのバイト順序

[図データ]