Merlin的魔力: 使用断言 - 编程入门网
Merlin的魔力: Java联网增强技术时间:2011-02-02 John ZukowskiJava 编程中的联网包括了定位和识别资源的能力以及通过 TCP 和 UDP 连接进行通信的能力。首先,您需要识别具有象 www.ibm.com 这样名称的资源,然后打开到该资源的连接,最后在您自己和连接的另一端之间发送信息包。由于安全性原因,可能会包括其它任务,但是整个过程是一样的。对于 Java 平台,会在 java.net 包中找到支持这些操作的类。从 Java 编程的早期到现在,这些操作中大多数都未曾发生太大的变化。但是,随着 Merlin 的发展,这些基本操作中有些已经作了改进,以支持有价值的新功能。在本文中,我们将研究五个此类功能:IPv6 支持、URI、网络接口、非绑定套接字和安全套接字。 对 IPv6 地址的支持 首先让我们研究一下对下一代因特网协议 V6(Internet Protocol V6,IPv6)寻址体系结构的新支持。借助于 InetAddress 的两个新子类( Inet4Address 和 Inet6Address ),您能够与基于 TCP 和 UDP 的应用程序进行连接。 Inet4Address 支持大多数机器所支持的较旧的(而且通常是唯一的)IP 寻址样式,localhost 的格式为 127.0.0.1 。RFC2373(请参阅 参考资料)中所定义的新寻址方案提供了一种用冒号隔开的格式,其中 0:0:0:0:0:0:0:1 是与 127.0.0.1 等价的回送地址。新的类允许应用程序支持一种或这两种寻址方案。 对 IPv6 的支持取决于底层平台是否支持它,Solaris 8 和更高版本,以及 Linux 2.1.2 和更高(RedHat 6.1+)版本都支持 IPv6,而 Microsoft Windows 并不支持它(Microsoft 的 Window 2000 实现是个有限的实现)。希望 J2SE 1.4 的 Windows 版本以后能支持 IPv6。 认识统一资源标识符 java.net 包现已包括了统一资源标识符(uniform resource identifier,URI)类。可将 URI 看作是幕后没有协议处理程序的统一资源定位符(uniform resource locator,URL)。通常,URL 看上去象 http://www.ibm.com 。为了使 Java 语言运行时理解 URL,它需要知道该怎么处理以 http: 开头的信息。以前,如果您提出新协议(例如,象 jdbc:database ),那么若没有协议处理程序,则您不能将 jdbc:database 字符串作为 URL 处理。相反,您不得不严格地将它作为字符串处理,这正是 JDBC 现在所做的。 URI 的典型格式是: [scheme:][//authority][path][?query][#fragment] ,其中 authority 通常就是主机名。但是,它还可以包括用户登录信息和端口: [userInfo@]host[:port] 。URI 类自身提供了一系列的 getter 方法,以便了解 URI 各个特定的部分。在您先前传递看上去象 URL 的字符串(但这仅为了描述 URL 而非使用它)的地方,您应当使用该类。 用 NetworkInterface 列出网络连接 您是否曾经想知道哪个联网接口是可用的,但是在不回复到本机代码的情况下又不知道该如何询问呢?通常,连接至因特网的大多数机器中有两个连接:到其自身的本地循环和到其本地服务供应商的连接。但是,有些机器是 多宿主的。它们有多个网卡,每个网卡都有一个到因特网的独立连接并且都有自己的名称和地址。有了这个新的 NetworkInterface 接口,您就可以在向外发送多点广播数据报时指定使用哪个网卡,或查看网络连接是否正常。清单 1 演示了该类的用法: 清单 1. 列出网络接口
|
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |