この製品では、SSLSocketFactoryを使用してサーバーへのSSLSocketを作成しています。サーバーへのソケットを作成するとき、製品構成に応じて2つのアプローチのいずれかを使用します。
(1)標準ソケットを作成し、SSLSocketでラップします。
SSLSocketFactory factory = ...
Socket s = new Socket(host, port);
SSLSocket sslSocket = (SSLSocket)factory.createSocket(s, host, port, true);
(2)SSLソケットを作成するだけです。
SSLSocketFactory factory = ...
Socket socket = factory.createSocket(host, port);
私たちのテスト環境では、両方の方法が同じようにうまく機能します。ただし、さまざまな顧客サイトで、一方の方法が大幅な遅延を引き起こし、もう一方の方法がすぐに接続する場合があることがわかりました(毎回異なる方法)。これは一貫性がなく、再現性がない場合もあります。
これらの接続方法の理論的な違いと、どのような状況でどの接続方法を推奨する必要があるかを誰かに教えてもらえますか?