注册任务涉及以下操作:
向注册网络互联协议和端口打开一个基本 TCP 套接字
构造 XML 注册消息
通过套接字发送 XML 注册消息
脱离套接字并读取 XML 应答消息
关闭套接字
创建实现上述逻辑的 Java 代码。
以下示例代码显示了 CrnpClient 类(由 CrnpClient 构造函数调用)的 registerCallbacks 方法的实现。本章稍后将对 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();
}