TCP読み取り 関数



LabVIEW 2018ヘルプ


発行年月: 2018年3月
製品番号: 371361R-0112
製品情報を参照

ダウンロード (Windowsのみ)


LabVIEW 2015ヘルプ
LabVIEW 2016ヘルプ
LabVIEW 2017ヘルプ
LabVIEW 2018ヘルプ
LabVIEW 2019ヘルプ

1つ上のパレット: TCP VIおよび関数

インストールパッケージ: ベース開発システム

TCPネットワーク接続から複数のバイトを読み取り、データ出力に結果を返します。

サンプル

モードは、読み取り処理の動作を示します。

0Standard(デフォルト)―読み取りバイト数で指定したすべてのバイトを受信するまで待機するか、またはタイムアウト(ms)が発生するまで待機します。 それまでに読み取ったバイト数を返します。 受信したバイト数が要求されたバイト数よりも少ない場合、バイト数の一部分を返してタイムアウトエラーを報告します。
1Buffered読み取りバイト数で指定したすべてのバイトを受信するまで待機するか、またはタイムアウト(ms)が発生するまで待機します。 受信したバイト数が要求されたバイト数よりも少ない場合、バイトを返さずにタイムアウトエラーを報告します。
2CRLF読み取りバイト数で指定したすべてのバイトを受信するか、関数が読み取りバイト数で指定したバイト数の範囲でCR(復帰文字)に続いてLF(改行文字)を受信するか、タイムアウト(ms)が発生するまで待機します。 この関数は文字列にCRおよびLFがあれば、CRおよびLFまでに受信したバイト数のデータを、CRおよびLFを含めて返します。
3Immediate―このVIが読み取りバイト数で指定した任意のバイトを受信するまで待機します。 関数が1バイトも受信しない場合のみ、タイムアウト時間が経過するまで待機します。 それまでに受信したバイト数を返します。 1バイトも受信されない場合にのみ、タイムアウトエラーが報告されます。
接続IDは、TCP接続を固有に識別するネットワーク接続Refnumです。
読み取りバイト数は、読み取るバイト数です。 ネットワーク接続からデータを読み取るには、0より大きい値を配線する必要があります。 デフォルト値は0です。 以下のいずれかの方法で、サイズが異なる場合があるメッセージを処理します。
  • メッセージを記述する固定サイズのヘッダで始まるメッセージを送信します。 たとえば、その後に続くメッセージの種類を認識するコマンド整数、およびメッセージ内のデータ量を認識する長さの整数が含まれている場合があります。 サーバとクライアントは両方とも、8バイトの読み取り関数を発行し(それぞれ4バイトの整数であると推定)、それらを2つの整数に変換し、長さの整数を使用して2番目の読み取り関数に渡す残りのメッセージのバイト数を決定することによって、メッセージを受信します。 この2番目の読み取りが完了すると、両方が次の反復の8バイトのヘッダの読み取り関数に戻ります。 この方法は最も柔軟ですが、各メッセージを受信するのに2回読み取りが必要です。 実際には、メッセージが単一の書き込み関数で書き込まれる場合、通常2回目の読み取りは即座に完了します。
  • 各メッセージを固定サイズにします。 メッセージの内容が指定した固定サイズより小さい場合、メッセージを固定サイズにパディングします。 メッセージを受信するのに単一の読み取りのみ必要であるため、不要なデータが送信される場合がありますが、この方法は多少効率性に優れています。
  • 各メッセージの内容が改行文字と復帰文字の改行ペアによって終了する、内容がASCIIのみのメッセージを送信します。 読み取り関数には、CRLFが渡されると、復帰改行と改行シーケンスを検出するまで読み取りを行うモード入力があります。 メッセージデータにCRLFシーケンスが含まれる場合、この方法はより複雑になりますが、POP3、FTP、HTTPなど、多くのインターネットプロトコルで一般的に使用されています。
タイムアウト(ms)は、モードがタイムアウトエラーを報告するまでの時間をミリ秒単位で指定します。 デフォルトは25,000 msです。 値-1を指定すると無限に待機します。
エラー入力は、このノードを実行する前に発生したエラーの状態を示します。 この入力は、標準エラー入力として機能します。
接続ID出力接続IDと同じ値を返します。
データ出力には、TCP接続から読み取られたデータが含まれています。
エラー出力には、エラー情報が含まれます。 この出力は、標準エラー出力として機能します。

サンプル

TCP読み取り関数の使用サンプルは、labview\examples\Data Communication\Protocols\TCP\TCP Named ServiceディレクトリにあるTCP Named Service.lvprojで参照できます。



この記事は役に立ちましたか。

役に立たなかった