受信をするには?

[マスタ側]

BYTE Srbuf[100];   //受信バッファ

 

Cmd[0] = 2;                //リスナの数+1(ここではリスナは1台)

   Cmd[1] = TalkerAdrs;       //データを送信する機器アドレス

Cmd[2] = ListenerAdrs;      //データを受信する機器アドレス(自分自身のアドレス)

Ret = GpListen(Cmd, &Srlen, Srbuf);   //Srlen = データの長さ:Srbuf = データが格納されているバッファ

 

[スレーブ側]

BYTE Srbuf[100];    //受信バッファ

 

Cmd[0] = 0;                //マルチラインメッセージは指定できないのでこのように記述します。

Ret = GpListen(Cmd, &Srlen, Srbuf);   //Srlen = データの長さ:Srbuf = データが格納されているバッファ

 

image\Line.gif

説明:受信するプログラムは送信する部分とほとんど同じです。使う関数はGpListen関数を使用します。注意点も同じでSrlenの値はSrbufに代入したデータ数を超えてはいけません。しかし受信ではSrbufの大きさを必ず指定しておかなければなりません。尚、CheckRet関数はエラーをわかりやすくするために別に関数を作成してあります。 これは標準モジュールといわれるものにコードが書かれています。この関数を標準モジュールとすることにより、汎用性を持たせてあります。もしこの関数を他のプログラムにもって使用するのであれば、ファイルの追加で使用可能となります。(CheckRet関数のコードは「SubFunc.cpp」に入っています。)

これで受信での作業は終わりです。