打字猴:1.700478789e+09
1700478789 }
1700478790
1700478791 在该类中有一个方法——genIpAddress方法——没有在类图中展现出来,它用于实现随机生成IP地址,这是我们为模拟DNS解析场景而建立的一个虚拟方法,在实际的应用中是不可能出现的。抽象DNS服务器编写完成,我们再来看具体的DNS服务器,先看上海的DNS服务器,如代码清单32-33所示。
1700478792
1700478793 代码清单32-33 上海DNS服务器
1700478794
1700478795 public class SHDnsServer extends DnsServer{
1700478796
1700478797 @Override
1700478798
1700478799 protected Recorder echo(String domain){
1700478800
1700478801 Recorder recorder=super.echo(domain);
1700478802
1700478803 recorder.setOwner(“上海DNS服务器”);
1700478804
1700478805 return recorder;
1700478806
1700478807 }
1700478808
1700478809 //定义上海的DNS服务器能处理的级别
1700478810
1700478811 @Override
1700478812
1700478813 protected boolean isLocal(String domain){
1700478814
1700478815 return domain.endsWith(”.sh.cn”);
1700478816
1700478817 }
1700478818
1700478819 }
1700478820
1700478821 为什么要覆写echo方法?各具体的DNS服务器实现自己的解析过程,属于个性化处理,它代表的是每个DNS服务器的不同处理逻辑。还要注意一下,我们在这里做了一个简化处理,所有以”.sh.cn”结尾的域名都由上海DNS服务器解析。其他的中国顶级DNS和全球顶级DNS实现过程类似,如代码清单32-34、32-35所示。
1700478822
1700478823 代码清单32-34 中国顶级DNS服务器
1700478824
1700478825 public class ChinaTopDnsServer extends DnsServer{
1700478826
1700478827 @Override
1700478828
1700478829 protected Recorder echo(String domain){
1700478830
1700478831 Recorder recorder=super.echo(domain);
1700478832
1700478833 recorder.setOwner(“中国顶级DNS服务器”);
1700478834
1700478835 return recorder;
1700478836
1700478837 }
1700478838
[ 上一页 ]  [ :1.700478789e+09 ]  [ 下一页 ]