クライアントは、サーバーの IP アドレスとポート番号に対して TCP 接続を開くことによって登録を開始します。TCP 接続が確立され書き込みの用意ができたところで、クライアントはその登録メッセージを送信する必要があります。 この登録メッセージは正しい書式の SC_CALLBACK_REG メッセージでなければならず、メッセージの前後に余分なバイトを含めることはできません。
バイトがすべてストリームに書き込まれたあと、クライアントはサーバーから応答を受け取ることができるように接続をオープン状態に保つ必要があります。クライアントが不正な書式のメッセージを送信した場合、サーバーはそのクライアントを登録せず、クライアントに対してエラー応答を送信します。サーバーが応答を送信する前にクライアントがソケット接続を閉じた場合、サーバーはそのクライアントを正常なクライアントとして登録します。
クライアントは、いつでもサーバーと通信を行うことができます。サーバーと通信を行うごとに、クライアントは SC_CALLBACK_REG メッセージを送信する必要があります。書式が不正なメッセージ、順不同のメッセージ、無効なメッセージなどを受け取った場合、サーバーはクライアントにエラー応答を送信します。
クライアントは、それ自体が ADD_CLIENT メッセージを送信するまでは ADD_EVENTS、REMOVE_EVENTS 、REMOVE_CLIENT メッセージを送信できません。また、ADD_CLIENT メッセージを送信しないかぎり REMOVE_CLIENT メッセージも送信できません。
クライアントが ADD_CLIENT メッセージを送信したが、そのクライアントがすでに登録されていたという場合は、サーバーがこのメッセージを黙認することがあります。このような場合、サーバーは報告なしに古いクライアント登録を削除し、2 つめの ADD_CLIENT メッセージに指定された新しいクライアント登録に置き換えます。
通常、クライアントはその起動時に ADD_CLIENT メッセージを送信することによって、サーバーに一度だけ登録を行います。また、登録の解除もサーバーに REMOVE_CLIENT メッセージを送信して一度だけ行います。しかし、CRNP はクライアントが必要に応じてイベントタイプリストを動的に変更できるだけの柔軟性を備えています。
ADD_CLIENT、ADD_EVENTS、および REMOVE_EVENTS メッセージには、それぞれイベントリストが含まれます。次の表は、CRNP が受け付けるイベントタイプを、必要となる名前と値のペアと共に示して説明しています。
まだ登録が行われていないイベントタイプを 1 つ以上指定する REMOVE_EVENTS メッセージを送信する
同じイベントタイプを 2 度登録する
クラスとサブクラス |
名前と値のペア |
説明 |
---|---|---|
EC_Cluster ESC_cluster_membership |
必須: なし (省略可能) なし |
クラスタメンバーシップの変更 (ノードの停止または結合) に関連するあらゆるイベントに登録する |
EC_Cluster ESC_cluster_rg_state |
次の条件で 1 つ必要: rg_name 値のタイプ: 文字列 (省略可能) なし |
リソースグループ name のあらゆる状態変更イベントに登録する |
EC_Cluster ESC_cluster_r_state |
次の条件で 1 つ必要: r_name 値のタイプ: 文字列 (省略可能) なし |
リソース name のあらゆる状態変更イベントに登録する |
EC_Cluster なし |
必須: なし 省略可能: なし |
あらゆる Sun Cluster イベントに登録する |