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