在懒人服务器的开发包中,是包含有客户端的开发包的。
这可以免去客户端开发人员要重新了解网络通信底层封包结构的麻烦。
这也是“懒人”名字由来的原因之一。
如果说,只要实现一个简单的客户端去调用我们在上一讲中实现的“字符串加工服务”,
那我们只需用到客户端开发包中的一个常用类 TcpDataClient(org.lazyboots.cli.net.TcpDataClient),
再加上最必不可少的三行代码:连接服务器、发送请求和断开连接,
这就足以构成一个完整的,用于调用“字符串加工服务”的客户端了。
下面是这个客户端的完整代码:
这里要注意的是两个常量:STRING_ACTION(1002)和 UPPERCASE_FUNC(1)。
要结合上一讲中我们对 SimpleStringAction 的配置绑定中,
也正是用了 1002 来绑定 SimpleStringAction 类;
同时也是用了 1 来绑定 SimpleStringAction 里的 uppercase 函数。
这可以免去客户端开发人员要重新了解网络通信底层封包结构的麻烦。
这也是“懒人”名字由来的原因之一。
如果说,只要实现一个简单的客户端去调用我们在上一讲中实现的“字符串加工服务”,
那我们只需用到客户端开发包中的一个常用类 TcpDataClient(org.lazyboots.cli.net.TcpDataClient),
再加上最必不可少的三行代码:连接服务器、发送请求和断开连接,
这就足以构成一个完整的,用于调用“字符串加工服务”的客户端了。
下面是这个客户端的完整代码:
package org.lazyboots.cli.sample.app;
import org.lazyboots.cli.net.TcpDataClient;
public class SampleConsoleClient {
public static final int STRING_ACTION = 1002;
public static final int UPPERCASE_FUNC = 1;
public static void main(String[] args) {
// 新建一个 TcpDataClient 类,
// 并指定它所发送的请求要使用 请求号 “1002” 和 函数号 “1”
TcpDataClient client = new TcpDataClient(STRING_ACTION, UPPERCASE_FUNC);
// 连接服务器
client.connect("127.0.0.1", 9090);
// 发送请求,以 "abcdefg" 为输入内容,
// 同时取得由服务器返回的字符串结果(所以要使用getString函数)
String str = client.getString("abcdefg");
// 打印结果字符串
System.out.println(str);
// 断开与服务器的连接
client.disconnect();
}
}
这里要注意的是两个常量:STRING_ACTION(1002)和 UPPERCASE_FUNC(1)。
要结合上一讲中我们对 SimpleStringAction 的配置绑定中,
也正是用了 1002 来绑定 SimpleStringAction 类;
同时也是用了 1 来绑定 SimpleStringAction 里的 uppercase 函数。