以下是dnsjava中发送DNS查询请求的代码实现过程:
```java
// 创建SimpleResolver对象,指定DNS服务器地址和协议类型
SimpleResolver resolver = new SimpleResolver(dnsServerAddress);
resolver.setTCP(true); // 设置使用TCP协议
// 创建Message对象,设置查询请求的各个字段和选项
Message query = new Message();
query.setID(1); // 设置消息ID
query.setFlag(Flags.RD); // 设置递归查询标志
query.setQuestion(new Question(Name.fromString(domainName), Type.A)); // 设置查询问题
// 发送查询请求,并接收响应消息
Message response = resolver.send(query);
// 处理响应消息,获取其中的Answer记录,并输出到控制台上
Record[] answers = response.getSectionArray(Section.ANSWER);
for (Record answer : answers) {
System.out.println(answer.toString());
}
```
以上代码中,首先创建了一个SimpleResolver对象,用于向指定的DNS服务器发送查询请求。然后,创建了一个Message对象,设置了查询请求的各个字段和选项,包括消息ID、递归查询标志和查询问题等。接着,调用resolver的send方法发送查询请求,并将返回的响应消息保存在response变量中。
最后,通过response对象的getSectionArray方法获取响应消息中的Answer记录,并遍历输出到控制台上。