2.4.2 通信形態
(1) メッセージの一方送信
CUP.NETからMHPに対して一方的にメッセージを送信できます。これをメッセージの一方送信といいます。
CUP.NETからSendメソッドを呼び出して,MHPへメッセージを送信します。
メッセージを一方送信するには,あらかじめ,Client .NET構成定義で次の指定をしておく必要があります。
- <tcpip>要素のsendHost属性にMHPが存在するノードのホスト名を指定
- <tcpip>要素のsendPort属性にMHPのポート番号(MCF通信構成定義の定義コマンドmcftalccnのportnoで指定したポート番号)を指定
- <tcpip>要素のtype属性にsendを指定
メッセージの一方送信を次の図に示します。
図2-10 メッセージの一方送信(CUP.NET)
![[図データ]](figure/zu090060.gif)
- MHPが起動されたあと,CUP.NETからSendメソッドを呼び出します。
- Sendメソッドの呼び出し時に,MHPからコネクションが解放されていたときは,CUP.NETにErrNetDownExceptionが返されます。
- 再びメッセージを一方送信するには,Sendメソッドを呼び出します。
(2) メッセージの一方受信
MHPからCUP.NETに対して一方的に送信したメッセージをCUP.NETで受信できます。これをメッセージの一方受信といいます。
CUP.NETは,Receiveメソッドを呼び出して,MHPからのメッセージをTCP/IPプロトコルを使用して受信します。
メッセージを一方受信するには,あらかじめ,Client .NET構成定義で次の指定をしておく必要があります。
- <tcpip>要素のrecvPort属性にCUP.NETの受信用ポート番号(MCF通信構成定義の定義コマンドmcftalccnのoportnoオペランドで指定したポート番号)を指定
- <tcpip>要素のtype属性にrecvを指定
メッセージの一方受信を次の図に示します。
図2-11 メッセージの一方受信(CUP.NET)
![[図データ]](figure/zu090050.gif)
- MHPがコネクションの確立要求を再試行している間に,CUP.NETがReceiveメソッドを呼び出します。再試行中にコネクションを確立できなかった場合,mcftactcnコマンドを入力してコネクションを確立します。
- MHPからコネクションが解放された場合,CUP.NETにErrConnfreeExceptionが返されます。
- 再びメッセージを一方受信するには,Receiveメソッドを呼び出します。この場合,mcftactcnコマンドを入力してコネクションを確立してください。
(3) メッセージの送受信
CUP.NETとMHPとの間で,メッセージを送受信できます。
CUP.NETでSendメソッドを呼び出してMHPへメッセージを送信し,CUP.NETでReceiveメソッドを呼び出して,MHPからのメッセージを受信します。
メッセージを送受信するには,あらかじめ,Client .NET構成定義で次の指定をしておく必要があります。
- MHPがサーバ型の場合
- <tcpip>要素のsendHost属性にMHPが存在するノードのホスト名を指定
- <tcpip>要素のsendPort属性にMHPのポート番号(MCF通信構成定義の定義コマンドmcftalccnのportnoで指定したポート番号)を指定
- <tcpip>要素のtype属性にsendrecvを指定
- MHPがクライアント型の場合
- <tcpip>要素のrecvPort属性にCUP.NETのポート番号(MCF通信構成定義の定義コマンドmcftalccnのoportnoオペランドで指定したポート番号)を指定
- <tcpip>要素のtype属性にsendrecvを指定
メッセージの一方受信時および一方送信時は,それぞれ別のコネクションを使用して,メッセージを受信および送信しますが,メッセージ送受信時は,同じコネクションを使用してメッセージを送受信します。
メッセージの送受信を次の図に示します。
図2-12 メッセージの送受信(CUP.NET)
![[図データ]](figure/zu090070.gif)