TCPリスン VI



LabVIEW 2018ヘルプ


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

ダウンロード (Windowsのみ)


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

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

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

リスナを作成し、指定されたポートでTCPネットワーク接続が受け入れられるのを待機します。

詳細  

ネットアドレスはリスンするネットワークアドレスを指定します。 2つのイーサネットカードなど、複数のネットワークカードがあり、指定されたアドレスのカードのみリスンする場合に役立ちます。 ネットワークアドレスを指定しない場合、LabVIEWはすべてのネットワークアドレスでリスンします。 「文字列をIPアドレスに変換」関数を使用して、現在のコンピュータのIPネットワークアドレスを取得します。
サービス名は、ポート番号の既存のリファレンスを作成します。 サービス名を指定する場合、LabVIEWはNIサービスロケータを使用してサービス名とポート番号を登録します。
ポートは、接続を認識するポート番号です。
タイムアウト(ms)は、VIが接続を待機する時間をミリ秒単位で指定します。 指定した時間内に接続が確立されない場合、関数は終了してエラーを返します。 デフォルト値は-1で、無限に待機することを示します。
エラー入力は、このノードを実行する前に発生したエラーの状態を示します。 この入力は、標準エラー入力として機能します。
リモートアドレスを解決は、リモートアドレスで「IPアドレスを文字列に変換」関数を呼び出すかどうかを示します。 デフォルトはTRUEです。 詳細については、「IPアドレスを文字列に変換」を参照してください。
リスナIDは、リスナを固有に識別するネットワーク接続refnumです。
接続IDは、TCP接続を固有に識別するネットワーク接続Refnumです。 後続のVI呼び出しでこの接続を参照するには、この値を使用します。
リモートアドレスは、TCP接続に関連付けられたリモートマシンのアドレスです。 このアドレスは、IPのドット表記形式です。
リモートポートは、リモートシステムが接続に使用するポートです。
エラー出力には、エラー情報が含まれます。 この出力は、標準エラー出力として機能します。

TCPリスンの詳細

所定のポート上でリスンが開始されると、別の「TCPリスン」VIを使用して同じポート上でリスンすることはできません。 たとえば、VIのブロックダイアグラム上に2つの「TCPリスン」VIがあり、最初の「TCPリスン」VIを使用してポート2222上でリスンを開始した場合、2番目の「TCPリスン」VIを使用してポート2222上でリスンは行えません。

このVIは、このVIを含むトップレベルVIがアイドル状態になるまで、アクティブなリスナとそれらがリスンするポートをリスナID順に示す表を維持します。 それ以降、このVIが呼び出されると、これらのリスナが指定されたサービス名ポートネットアドレスに応じて再度使用されます。 ただし、ポート端子に値0を配線し、サービス名端子に空の文字列を配線すると、このVIが呼び出されるたびに開いているポートで新しいリスナが作成されます。 したがって、このような入力を配線してデフォルト以外のタイムアウト値を指定すると、VIがタイムアウトになるたびに開いているポートで新しいリスナが作成され、ソケットリソースが占有されます。 このような状況でソケットリソースを解放するには、リスナID端子を「TCP接続を閉じる」関数に配線してリスナが使用しているポートを開放します。 または、リスナID端子を「TCPリスナを待機」関数に配線して1つのポートで1つの接続をリスンします。



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

役に立たなかった