[Windows]

Windows での TCP 接続の定義

送信側でチャネルを構成してターゲットのアドレスを指定し、受信側でリスナー・プログラムを実行することにより、TCP 接続を定義します。

始める前に

[Continuous Delivery][IBM MQ Advanced]TCP/IPを使用するメッセージ・チャネルは、IBM® Aspera® faspio Gatewayを指すことができ、これは、ネットワークのスループットを大幅に向上させることができる高速TCP/IPトンネルを提供する。 資格のあるプラットフォームで実行されているキュー・マネージャーは、 Aspera gatewayを介して接続できます。 ゲートウェイ自体は、 Red Hat®Ubuntu Linux®、または Windowsにデプロイされます。 Linux または Windowsでの Aspera gateway 接続の定義を参照してください。

送信側

チャネル定義の「Connection name (接続名)」フィールドにホスト名またはターゲット・マシンの TCP アドレスを指定します。

接続されるポートのデフォルト値は 1414 です。 ポート番号 1414 は、Internet Assigned Numbers Authority によって IBM MQに割り当てられます。

デフォルト以外のポート番号を使用する場合は、チャネル・オブジェクト定義の接続名フィールドに次のようにポート番号を指定します。
DEFINE CHANNEL('channel name') CHLTYPE(SDR) +   
          TRPTYPE(TCP) +
          CONNAME('OS2ROG3(1822)') +  
          XMITQ('XMitQ name') +  
          REPLACE
        
ここで、OS2ROG3 はリモート・キュー・マネージャーの DNS ホスト名、1822 は必要なポート番号です。 (これは受信側のリスナーが待機するポートでなければなりません。)

チャネル・オブジェクト定義の変更を反映させるには、実行中のチャネルを停止して再始動する必要があります。

IBM MQ for Windows.iniファイルでデフォルトのポート番号を指定することにより、デフォルトのポート番号を変更できます:
TCP:
Port=1822
注: 使用する TCP/IP ポート番号を選択するために、 IBM MQ は、以下の順序で最初に検出したポート番号を使用します。
  1. チャネル定義またはコマンド行で明示的に指定されたポート番号。 この番号を指定すると、チャネルのデフォルト・ポート番号を変更することができます。
  2. .iniファイルのTCPスタンザに指定されているポート属性。 この番号を指定すると、キュー・マネージャーのデフォルト・ポート番号を変更することができます。
  3. デフォルト値 1414。 これは、インバウンド接続とアウトバウンド接続の両方に対して Internet Assigned Numbers Authority が IBM MQ に割り当てた番号です。

qm.iniを使用して設定した値について詳しくは、 分散キューイング用の構成ファイル・スタンザを参照してください。

TCP での受信

受信側のチャネル・プログラムを開始するには、着信ネットワーク要求を検出し、関連チャネルを開始するリスナー・プログラムが起動されている必要があります。 IBM MQ リスナーを使用できます。

受信側のチャネル・プログラムは、送信側チャネルからの開始要求に応じて開始されます。

受信側のチャネル・プログラムを開始するには、着信ネットワーク要求を検出し、関連チャネルを開始するリスナー・プログラムが起動されている必要があります。 IBM MQ リスナーを使用できます。

新規チャネルをスレッドとして開始する IBM MQ提供のリスナーを実行するには、 runmqlsr コマンドを使用します。

runmqlsr コマンドを使用する基本的な例を次に示します。
runmqlsr -t tcp [-m QMNAME] [-p 1822]
大括弧は、オプション・パラメーターを示します。デフォルト・キュー・マネージャーの場合は QMNAME は必要ありません。また、デフォルト・ポート番号 (1414) を使用する場合はポート番号は必要ありません。 ポート番号は 65535 以下でなければなりません。
注: 使用する TCP/IP ポート番号を選択するために、 IBM MQ は、以下の順序で最初に検出したポート番号を使用します。
  1. チャネル定義またはコマンド行で明示的に指定されたポート番号。 この番号を指定すると、チャネルのデフォルト・ポート番号を変更することができます。
  2. .iniファイルのTCPスタンザに指定されているポート属性。 この番号を指定すると、キュー・マネージャーのデフォルト・ポート番号を変更することができます。
  3. デフォルト値 1414。 これは、インバウンド接続とアウトバウンド接続の両方に対して Internet Assigned Numbers Authority が IBM MQ に割り当てた番号です。

最高のパフォーマンスを得るには、 トラステッド・アプリケーションとしてのチャネルおよびリスナーの実行の説明に従って、 IBM MQ リスナーをトラステッド・アプリケーションとして実行します。 トラステッド・アプリケーションについては、 トラステッド・アプリケーションの制約事項 を参照してください。

TCP/IP SO_KEEPALIVE オプションの使用

Windows SO_KEEPALIVE オプションを使用する場合は、レジストリーに以下の項目を追加する必要があります。
TCP:
KeepAlive=yes

SO_KEEPALIVEオプションの詳細については、チャネルのもう一方の端がまだ利用可能であることを確認するを参照してください。

Windowsでは、 Windows KeepAliveTime オプションの HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters レジストリー値によって、接続が検査される前に経過する間隔が制御されます。 デフォルト値は 2 時間です。

TCP リスナー・バックログ・オプションの使用

TCP では、サーバーとクライアントとの間で 3 ウェイ・ハンドシェークが実行されない限り、接続は不完全として扱われます。 これらの接続は、未解決接続要求と呼ばれます。 最大値をこれらの未解決接続要求に設定し、リスナーが要求を受け入れるのを TCP ポート上で待っている要求のバックログと考えることができます。

詳細は、「 IBM MQfor Multiplatforms で TCP リスナー・バックログ・オプションを使用する」を参照してくださいWindows