Jakarta Commons——Net

■ 概况:一个用于操作Internet基础协议的底层API。

■ 官方资源:主页,二进制,源代码。

   ■ 何时适用:当你想要访问各种Internet底层协议之时(Finger,Whois,TFTP,Telnet,POP3,FTP,NNTP,以及SMTP)。

■ 示例应用:NetDemo.java。要求CLASSPATH中包含commons-net-1.0.0.jar。

■ 说明:

Net包是一个强大、专业的类库,类库里的类最初属于一个叫做NetComponents的商业产品。

Net包不仅支持对各种低层次协议的访问,而且还提供了一个高层的抽象。大多数情况下,Net包提供的抽象已能满足一般需要,它使得开发者不再需要直接面对各种协议的Socket级的低层命令。使用高层抽象并不减少任何功能,Net API在这方面做得很出色,既提供了足够的功能,又不至于在特色方面作过多的妥协。

SocketClient是支持所有协议的基础类,它是一个抽象类,聚合了各种协议都需要的公用功能。各种不同协议的使用过程其实很相似,首先利用connect方法建立一个指向远程服务器的连接,执行必要的操作,最后终止与服务器的连接。下面通过实例介绍具体的使用步骤。

// …

// ① 创建一个客户端。我们将用NNTPClient从新闻服务器下载新闻组清单。

client = new NNTPClient();

// …

// ② 利用前面创建的客户端连接到新闻服务器。

// 这里选用的是一个新闻组较少的服务器。

client.connect("aurelia.deine.net");

// …

// ③ 提取新闻组清单。下面的命令将返回一个NewsGroupInfo对象的数组。如果指定的服务器上不包含新闻组,返回的数组将是空的,如果遇到了错误,则返回值是null。

list = client.listNewsgroups();

//...

// ④ 最后终止与服务器的连接。

if (client.isConnected())

client.disconnect();

必须说明的是,listNewsgroups命令可能需要较长的时间才能返回,一方面是因为网络速度的影响,另外也可能是由于新闻组清单往往是很庞大的。NewsGroupInfo对象包含有关新闻组的详细信息,并提供了一些操作新闻组的命令,比如提取文章总数、最后发布的文章、发布文章的权限,等等。

其他客户端,例如FingerClient、POP3Client、TelnetClient等,用法也差不多。

结束语:有关Web相关类和其他类的介绍就到此结束。在下一篇文章中,我们将探讨XML类和包装类,最后一篇文章则介绍工具类。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值