分散トランザクション処理機能 OpenTP1 クライアント使用の手引 TP1/Client/W,TP1/Client/P編

[目次][索引][前へ][次へ]

4.6.1 dc_clt_send_sメッセージの送信

<この項の構成>
(1) 形式
(2) 機能
(3) UAPで値を設定する引数
(4) リターン値
(5) 注意事項

(1) 形式

(a) TP1/Client/Wの場合
●_s付き関数
 
#include <dcvclt.h>
DCLONG dc_clt_send_s(DCCLT_ID cltid, char *buff,
                     DCLONG sendleng, char *hostname,
                     unsigned short portnum, DCLONG flags)
●_s無し関数
 
#include <dcvclt.h>
int dc_clt_send(char *buff, DCLONG sendleng, char *hostname,
                unsigned short portnum, DCLONG flags)
 
(b) TP1/Client/Pの場合
●_s付き関数
 
#include <dcvclt.h>
DCLONG dc_clt_send_s(DCCLT_ID cltid, char CLTFAR *buff,
                     DCLONG sendleng, char CLTFAR *hostname,
                     unsigned short portnum, DCLONG flags)
 
●_s無し関数
 
#include <dcvclt.h>
int dc_clt_send(char CLTFAR *buff, DCLONG sendleng,
                char CLTFAR *hostname,
                unsigned short portnum, DCLONG flags)
 

(2) 機能

MHPへメッセージを送信します。

dc_clt_send_s関数を実行する場合,flagsにDCCLT_ONEWAY_SND,またはDCCLT_SNDRCVを指定したdc_rpc_open_s関数を,あらかじめ実行しておく必要があります。

(3) UAPで値を設定する引数

(4) リターン値

リターン値 数値
(10進数)
意味
DC_OK 0 正常終了しました。
DCCLTER_INVALID_ARGS -2501 引数に指定した値が誤っています。
DCCLTER_PROTO -2502 dc_rpc_open_s関数が実行されていません。
または,dc_rpc_open_s関数は実行されていますが,flagsにDCCLT_ONEWAY_SND,またはDCCLT_SNDRCVを指定していません。
DCCLTER_NO_BUFS -2504 メモリ不足が発生しました。
DCCLTER_NET_DOWN -2506 ネットワーク障害が発生しました。
DCCLTER_TIMED_OUT -2507 コネクション確立要求時にタイムアウトになりました。
DCCLTER_SYSERR -2518 システムエラーが発生しました。
DCCLTER_RESOURCE -2538 資源不足が発生しました。
DCCLTER_WRONG_HOST -2539 ホスト名が誤っています。または,hostname,およびDCSNDHOSTの両方にホスト名が指定されていません。
DCCLTER_CONNREFUSED -2541 相手システムに対するコネクションの確立要求が拒絶されました。
DCCLTER_INVALID_CLTID -2544 cltidに指定したクライアントIDは,dc_clt_cltin_s関数で受け取ったクライアントIDと異なっています。
DCCLTER_PORT_IN_USE -2547 OSが自動的に割り当てるポート番号が不足しています。

(5) 注意事項

メッセージ送信時に相手システムからコネクションが解放された場合,送信するメッセージ長によっては,コネクションが解放されたことを検知できないことがあります。この場合は,この関数の次以降に発行する関数で検知することがあります。CUPを作成するときは,このことを考慮してください。