ソケットを使用した接続の指定

提供: RAD Studio
移動先: 案内検索

アプリケーション サーバーへの接続 への移動


TCP/IP アドレスを持っているどのようなマシンからでも、ソケットを使ってアプリケーション サーバーへの接続を確立することができます。この方法は、より多くのマシンに適用できるという利点がありますが、セキュリティ プロトコルの使用には対応していません。ソケットを使用する場合は、アプリケーション サーバーに接続するための TSocketConnection コンポーネントを組み込みます。

TSocketConnection では、サーバー システムの IP アドレスまたはホスト名と、サーバー マシン上で動作しているソケット ディスパッチャ プログラム(Scktsrvr.exe)のポート番号を使って、サーバー マシンを識別します。IP アドレスおよびポート値の詳細については、「ソケットの記述」を参照してください。

TSocketConnection の 3 つのプロパティは次の情報を指定します。

  • Address -- サーバーの IP アドレスを指定します。
  • Host -- サーバーのホスト名を指定します。
  • Port -- アプリケーション サーバー上のソケット ディスパッチャ プログラムのポート番号を指定します。

AddressHost は相互排他的です(同時には使用できません)。一方の値を設定すると、もう一方の値の設定が解除されます。どちらを使用するかについては、「ホストの記述」を参照してください。

クライアント アプリケーションで選択できるサーバーが複数ある場合は、接続ブローカを使用できます。

デフォルトでは、Port の値は 211 です。これは、着信するメッセージをアプリケーション サーバーに転送するソケット ディスパッチャ プログラムのデフォルトのポート番号です。ソケット ディスパッチャが別のポートを使用するように構成されている場合は、Port プロパティを、その値と一致するように設定します。

メモ: Embarcadero Socket Server トレイ アイコンを右クリックし、[プロパティ]を選択すると、ソケット ディスパッチャの動作中でもそのポートを構成することができます。

ソケット接続はセキュリティ プロトコルの使用に対応していませんが、ソケット接続をカスタマイズして、独自の暗号化を付け加えることができます。

独自の暗号化を付け加えるには:

  1. IDataIntercept インターフェイスをサポートする COM オブジェクトを作成します。これは、データを暗号化および復号化するためのインターフェイスです。
  2. TPacketInterceptFactory を、このオブジェクトのクラス ファクトリとして使用します。ステップ 1 でウィザードを使用して COM オブジェクトを作成した場合は、初期化セクションの TComponentFactory.Create(...) という行を TPacketInterceptFactory.Create(...) に置き換えます。
  3. 新しい COM サーバーをクライアント マシンに登録します。
  4. ソケット接続コンポーネントの InterceptName プロパティまたは InterceptGUID プロパティを、この COM オブジェクトを指定するように設定します。ステップ 2 で TPacketInterceptFactory を使用した場合は、[オブジェクト インスペクタ]で、InterceptName プロパティのドロップダウン リストにお使いの COM サーバーが表示されます。
  5. 最後に、Embarcadero Socket Server トレイ アイコンを右クリックして[プロパティ]を選択し、[プロパティ]タブで、[インターセプト名]または[インターセプト GUID]をインターセプタの ProgId または GUID と同じ値に設定します。

これと同じ方法をデータの圧縮および解凍にも使用することができます。

関連項目