注册任务涉及以下操作:
向注册网络互联协议和端口打开一个基本 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(); }