- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Java教材课件11_1
第11章 网络编程 TCP/IP协议概述 在编写网络通信的Java程序时 ,只要用包中的类即可,这些类提供了系统无关的网络通信服务。 TCP/IP协议是一组包括TCP协议和IP协议、UDP(User Datagram Protocol)协议、ICMP(Internet Control Message Protocol)协议和其他一些协议的协议族。 TCP/IP通信协议采用了4层的层级结构,每一层都使用它的下一层所提供的网络来完成自己的需求。 应用层:应用程序间沟通的层,如简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等。 传输层:在此层中,它提供了节点间的数据传送服务,如传输控制协议(TCP)、用户数据报协议(UDP)等,TCP和UDP给数据包加入传输数据并把它传输到下一层中,这一层负责传送数据,并且确定数据已被送达并接收。 互连网络层:负责提供基本的数据封包传送功能,让每一块数据包都能够到达目的主机(但不检查是否被正确接收),如网际协议(IP)。 网络接口层:对实际的网络媒体的管理,定义如何使用实际网络(如Ethernet、Serial Line等)来传送数据。 TCP/IP中的几个主要协议 1.IP协议 网际协议IP是TCP/IP的心脏,也是网络层中最重要的协议。 IP数据包中含有发送它的主机的地址(源地址)和接收它的主机的地址(目的地址)。 IP层接收由低层发来的数据包,并把该数据包发送到更高层——TCP或UDP层;相反,IP层也把从TCP或UDP层接收来的数据包传送到更低层。 IP数据包是不可靠的,因为IP并没有做任何事情来确认数据包是按顺序发送的或者没有被破坏。 2.TCP协议 TCP是Tranfer Control Protocol的简称,是一种面向连接的保证可靠传输的协议。通过TCP协议传输,得到的是一个顺序的无差错的数据流。 面向连接的、可靠的连接。 以增加控制信息来换取可靠性。 3.UDP协议 UDP是User Datagram Protocol(用户数据报协议)的简称,是一种无连接的、不可靠的协议。 UDP协议的速度比较快。 11.1.2 Socket套接字 网络上的两个程序通过一个双向的通信连接实现数据的交换,这个双向链路的一端称为一个Socket,通常用Socket来实现客户方和服务方的连接。 客户程序可以向Socket写请求,服务器将处理此请求,然后通过Socket将结果返回给用户。 Socket通信机制提供了两种通信方式: 有连接和无连接方式,分别面向不同的应用需求。 端口 端口的作用就是让应用层的各种应用进程都能将其数据通过端口向下交付给运输层,以及让运输层知道应当将其报文段中的数据向上通过端口交付给应用层相应的进程。 从这个意义上讲,端口是用来标志应用层的进程。 Java提供DatagramSocket 来实现UDP通信 Java提供ServerSocket 与Socket实现TCP通信。 URL URL(Uniform Resource Locator)表明了Internet上某一资源的地址。包括四部分内容: 1. 传送协议; 2. 服务器; 3. 端口号; 4. 路径。 一个URL的语法格式如下: protocol://hostname:port/dir/filename protocol定义了传输协议,如http、ftp、gopher、file等 hostname为主机域名或IP地址; port为服务端口号; dir和filename分别为服务器上的目录和文件名。 Java语言提供了类.URL来实现利用URL进行网络编程。 通过URL对象及相关方法直接得到相关的网络信息,首先创建一个URL对象,然后使用URL的方法openStream()与指定的URL建立连接并得到一个输入流InputStream类的对象。 另一种是通过方法openConnection()生成相应的URLConnection对象,从而得到InputStream输入流或InputStream对象,进而对其进行读写操作。 11.2 使用URL获取网络资源 URL类 在Java的包中定义,该包包含一些用于网络编程的类。 URL类可以很方便地利用URL地址在Internet上进行网络通信并获取网络资源。 public URL (String spec); 该构造方法通过一个表示URL地址的字符串可以构造一个URL对象。 URL urlBase=new URL(/) ; public URL(URL context, String spec); 该构造方法通过绝对URL和相对URL构造一个URL对象。 URL com163 = new URL (/)
原创力文档


文档评论(0)