デバイスサーバと通信するサーバプログラムが動作するパソコンでファイヤーウォールが動作している場合についての注意事項です。
特にデバイスサーバの接続の設定を「サーバ機能」「クライアント機能」の両方を設定した場合に問題が発生します。
(この設定の場合、サーバ機能とクライアント機能は交互に動作いたします)
デバイスサーバはクライアント機能によって任意のパソコンへTCPの接続を行いますが、ファイヤーウォールが有効なパソコンで接続対象のサーバプログラムが動作していないとファイヤーウォールによって通信が阻止されるため、デバイスサーバはクライアント機能の通常の通信手順が行えなくなり、結果サーバ機能へ動作を遷移できなくなる可能性があります。
具体的には、以下のような現象が発生します。
1) | デバイスサーバは、接続先パソコンに対してTCP接続要求(SYN)を出します。 |
2) | パソコンで動作するプログラムが動作していない(任意のポートでの接続を受付ていない)場合、本来デバイスサーバからの接続要求 に対してTCP接続拒否(RST)が発行される筈ですが、同じパソコンで動作するファイヤーウォールによって阻害されます。 |
3) | TCP接続拒否(RST)がデバイスサーバまで届かないため、デバイスサーバは自身の接続ポートを開放することが出来ない。 |
4) | デバイスサーバに来た接続要求(SYN)に対して返答が得られないため、ポートが開放されず、サーバ接続を確立できない。 |
もし、本現象が発生した場合には、接続相手側のファイヤーウォール設定にてデバイスサーバから接続する「ポート番号」を開放してください。
(Windows XP SP2 以降 や Vista にて基本動作しているファイヤーウォールの場合、「ポート番号の例外」に加えるか、ファイヤーウォール機能そのものを「無効」にすることで現象を回避できます。)