- 1、本文档共38页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
尚辅网 / 第7章 网络编程 Java号称Internet上的语言,它从语言级上提供了对网络应用程序的支持,程序员能够很容易的开发常见的网络应用程序。 Java提供的网络类库,可以实现无痛苦的网络连接,连网的底层细节被隐藏在Java的本机安装系统里,由JVM进行控制。并且Java实现了一个跨平台的网络库,程序员面对的是一个统一的网络编程环境。 7.1.1 网络基础 网络编程的目的就是指直接或间接地通过网络协议与其它计算机进行通讯。网络编程中有两个主要的问题,一个是如何准确地定位网络上一台或多台主机,另一个就是找到主机后如何可靠高效地进行数据传输。 要想让处于网络中的主机互相通信,只是知道通信双方地址还是不够的,还必须遵循一定的规则。有两套参考模型:OSI参考模型,TCP/IP参考模型(或TCP/IP协议)。由于OSI参考模型过于理想化,未能在因特网上进行广泛推广。这样,TCP/IP协议就成为事实上的国际标准。 7.1.2 TCP/IP协议簇 TCP/IP以其两个主要协议:传输控制协议(TCP)和网络互联协议(IP)而得名,实际上是一组协议,包括多个具有不同功能且互为关联的协议。TCP/IP协议模型从更实用的角度出发,形成了高效的四层体系结构,即网络接口层、IP层、传输层和应用层。下图表示了TCP/IP的分层结构和与OSI参考模型的对应关系。 7.1.3 TCP和UDP 这里只重点介绍TCP/IP协议的运输层协议。运输层协议中有两个非常重要的协议:传输控制协议TCP(Transmission Control Protocol),用户数据报协议UDP(User Datagram Protocol)。 传输控制协议TCP是面向连接的运输层协议。即应用进程(或程序)在使用TCP协议之前,必须先建立TCP连接,在传输完毕后,释放已经建立的连接。利用TCP协议进行通信的两个应用进程,一个是服务器进程。另一个是客户进程。 用户数据报协议UDP是面向无连接的运输层协议。即应用进程(或程序)在使用UDP协议之前,不必先建立连接。自然,发送数据结束时也没有连接需要释放。因此,减少了开销和发送数据之前的时延。 7.2 InetAdress类 Internet上的主机有两种方式表示地址: (1)域名 例如, (2)IP 地址 例如,10 包中的InetAddress类对象含有一个Internet主机地址的域名和IP地址: /10。 域名容易记忆,当你在连接网络时输入一个主机的域名后,域名服务器(DNS)负责将域名转化成IP地址,这样我们才能和主机建立连接。 7.2 InetAdress类 1.获取Internet上主机的地址 我们可以使用InetAddress类的静态方法: getByName(String s); 将一个域名或IP地址传递给该方法的参数s,获得一个 InetAddress对象,该对象含有主机地址的域名和IP地 址,该对象用如下格式表示它包含的信息: /0 下面的例子:InetAddressTest.java. 分别获取域名是的主机域名及IP地址。 public class InetAddressTest { public static void main(String args[]) { try{ InetAddress address_1=InetAddress.getByName(“”);//InetAddress类需处 理异常 System.out.println(address_1.toString()); System.out.println(address_1.getHostName());//取InetAddress对象所含的域名。 System.out.println(address_1.getHostAddress());//获取InetAddress对象所含的IP地址。 InetAddress address_2=InetAddress.getLocalHost();//对象含有本地机的域名和IP地址。 System.out.println(address_2.toString()); } catch(UnknownHostException e) { System.out.println(); } } 使用InetAddress 调用上
文档评论(0)