LabWindows/CVI で複数のネットワーク・デバイスと通信する方法
使用ソフトウェア:
使用ソフトウェア・バージョン: 7.1
使用ソフトウェア・バージョンに特化: N/A
二次のソフトウェア: LabWindows/CVI Development Systems>>Base Package
問題: LabWindows/CVI の TCP ライブラリを使用して、複数のネットワーク・デバイスと通信することは可能ですか?
解決策: 複数のネットワーク・インターフェース・カードやアダプタなどが搭載されているシステムを、
multihomed であると言います。LabWindows/CVI 7.0 以降では、
RegisterTCPServerEx 関数を使用して、どのデバイスを使用するか明示的に指定できます。RegisterTCPServerEx 関数で、サーバで使用するネットワーク・インターフェースの IP アドレスを指定できます。
これまで提供されていた RegisterTCPServer 関数を使用すると、CVI は WinSocket の接続を開き、Windows がネットワーク・インターフェースを選択しました。多くの場合、プライマリ・ネットワーク・インターフェースが選択されます。
Windows のネットワークのプロパティで、デフォルトのインターフェースを確認できます。各ネットワーク・インターフェースの TCP/IP エントリのプロパティを開き、「上級」タブにある「このプロトコルをデフォルトにする」を選択します。また、LabWindows/CVI の TCP ライブラリにある GetAllTCPHostAddresses 関数で、ローカルマシンのすべてのネットワーク・インターフェースの IP アドレス を確認できます。
注意:multihomed なホストで、TCP クライアントのプログラムを書く場合、LabWindows/CVI の TCP ライブラリで使用するネットワーク・インターフェースを指定
できません。ホストマシンのネットワークのルーティング・テーブルが、選択することを制限しています。ただし、低レベルの Windows コマンドライン・ユーティリティ
route で、ルーティング・テーブルを変更し、特定のサーバと接続するときに使用するネットワーク・インターフェースを指定できます。
関連リンク: Developer Zone Tutorial: Building Networked Applications with the LabWindows/CVI TCP Support Library (英語)
添付:
報告日時: 08/15/2005
最終更新日: 12/31/2007
ドキュメントID: 3OEAPBK7
Other Support Options
Ask the NI Community
Collaborate with other users in our discussion forums
Request Support from an Engineer
A valid service agreement may be required, and support options vary by country.