登録は以下の作業によって行います。
登録用の IP アドレスとポートに対して基本的な TCP ソケットを開く
XML 登録メッセージを作成する
ソケット上で XML 登録メッセージを送信する
ソケットから XML 応答メッセージを読み取る
ソケットを閉じる
上記のロジックを実装する Java コードを作成します。
以下のコード例は、CrnpClient クラスの registerCallbacks メソッド (CrnpClient コンストラクタによって呼び出される) の実装を示しています。createRegistrationString() と readRegistrationReply() の呼び出しの詳細は、この章で後述します。
regIp と regPort は、ココンストラクタによって設定されるオブジェクトメンバーです。
private void registerCallbacks() throws Exception
{
Socket sock = new Socket(regIp, regPort);
String xmlStr = createRegistrationString();
PrintStream ps = new
PrintStream(sock.getOutputStream());
ps.print(xmlStr);
readRegistrationReply(sock.getInputStream();
sock.close();
}
unregister メソッドを実装します。
このメソッドは、CrnpClient の shutdown メソッドによって呼び出されます。createUnregistrationString の実装の詳細はこの章で後述します。
private void unregister() throws Exception
{
Socket sock = new Socket(regIp, regPort);
String xmlStr = createUnregistrationString();
PrintStream ps = new PrintStream(sock.getOutputStream());
ps.print(xmlStr);
readRegistrationReply(sock.getInputStream());
sock.close();
}