登録は以下の作業によって行います。
登録用の 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(); }