- 1、本文档共57页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第11章 网络编程 11.1 网络编程的基本概念 Java作为一种与平台无关的语言,从一出现就与网络有关极其密切的关系,因为Java写的程序可以在网络上直接运行,使用Java,只需编写简单的代码就能实现强大的网络功能。下面将介绍几个与Java网络编程有关的概念。 TCP/IP协议概述 在编写网络通信的Java程序时,是在应用层编写程序的,所以根本不必关心TCP/IP的层次,只要用包中的类即可,这些类提供了系统无关的网络通信服务。但是即使如此,也需了解一下TCP/IP协议。 确切地说,TCP/IP协议是一组包括TCP协议和IP协议、UDP(User Datagram Protocol)协议、ICMP(Internet Control Message Protocol)协议和其他一些协议的协议族。TCP/IP通信协议采用了4层的层级结构,每一层都使用它的下一层所提供的网络来完成自己的需求。这4层分别为: 应用层:应用程序间沟通的层,如简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等。 传输层:在此层中,它提供了节点间的数据传送服务,如传输控制协议(TCP)、用户数据报协议(UDP)等,TCP和UDP给数据包加入传输数据并把它传输到下一层中,这一层负责传送数据,并且确定数据已被送达并接收。 互连网络层:负责提供基本的数据封包传送功能,让每一块数据包都能够到达目的主机(但不检查是否被正确接收),如网际协议(IP)。 网络接口层:对实际的网络媒体的管理,定义如何使用实际网络(如Ethernet、Serial Line等)来传送数据。 下面简单介绍TCP/IP中的几个主要协议的功能。 1.IP协议 网际协议IP是TCP/IP的心脏,也是网络层中最重要的协议。 IP层接收由更低层(网络接口层例如以太网设备驱动程序)发来的数据包,并把该数据包发送到更高层——TCP或UDP层;相反,IP层也把从TCP或UDP层接收来的数据包传送到更低层。IP数据包是不可靠的,因为IP并没有做任何事情来确认数据包是按顺序发送的或者没有被破坏。IP数据包中含有发送它的主机的地址(源地址)和接收它的主机的地址(目的地址)。 2.TCP协议 TCP是Tranfer Control Protocol的简称,是一种面向连接的保证可靠传输的协议。通过TCP协议传输,得到的是一个顺序的无差错的数据流。 如果IP数据包中有已经封好的TCP数据包,那么IP将把它们向“上”传送到TCP层。TCP将包排序并进行错误检查,同时实现虚电路间的连接。TCP数据包中包括序号和确认,所以未按照顺序收到的包可以被排序,而损坏的包可以被重传。 TCP是可靠的、面向连接的、连续的、流的协议。当应用程序需要一个可靠的、点对点的连接进行通信时,就用TCP协议。像HTTP、FTP、Telnet等应用程序都需要一个可靠的通信媒介。数据在网络上发送和接收的次序对于能否成功的应用HTTP读取URL资源是很重要的,数据的接收次序与发送的次序必须一样,否则就会收到一些错误的信息。 对于许多应用程序来说,这种可靠性的保证是能否成功传输信息的关键。然而,这种可靠的传输方式并非对所有的应用程序都适合。事实上,TCP需要花费大量的时间和带宽来保证可靠传输,有一些场合可靠传输并不是必须的。 3.UDP协议 UDP是User Datagram Protocol(用户数据报协议)的简称,是一种无连接的、不可靠的协议,每个数据报都是一个独立的信息,包括完整的源地址或目的地址,它在网络上以任何可能的路径传往目的地,因此能否到达目的地,到达目的地的时间以及内容的正确性都是不能被保证的。但是这个协议的速度却比较快,所以在现在网络基础设施越来越好的情况下,使用UDP协议的应用程序也越来越多了。 在Java的类库中,URL、URLConnection、Socket、SocketServer类都是利用TCP在网络上通信的;而DatagramPacket和DatagramServer类是使用UDP的。本章将主要讲述利用TCP协议进行通信的各个类。 Socket套接字 网络上的两个程序通过一个双向的通信连接实现数据的交换,这个双向链路的一端称为一个Socket,即Socket是面向客户/服务器模型设计的,通常用Socket来实现客户方和服务方的连接。客户程序可以向Socket写请求,服务器将处理此请求,然后通过Socket将结果返回给用户。 Socket通信机制提供了两种通信方式:有连接和无连接方式,分别面向不同的应用需求。使用有连接方式时,通信链路提供了可靠的,全双工的字节流服务。在该方式下,通信双方必须创建一个连接过程并建立一条通信链路,以后的网络通信操作完全在这一对进程之间进行,通信完毕则
您可能关注的文档
- J《电工电子技术基础》电子电工电子技术电路基础要点解析.ppt
- J1939协议-数据链路层要点解析.ppt
- JAC瑞风MPV商务车品牌营销推广执行策略与广告创意表现体系要点解析.ppt
- Java 语言要点解析.ppt
- Java2实用第4版_第11章_JDBC数据库操作要点解析.ppt
- Java2实用第4版_第13章_Java网络编程要点解析.ppt
- Java6对web开发的改变要点解析.ppt
- JavaEE程序设计与应用开发_第二章要点解析.ppt
- JavaEE核心技术介绍要点解析.ppt
- JavaJava网络编程要点解析.ppt
- 小学科学:ESP8266智能插座电路原理与动手实践研究教学研究课题报告.docx
- 《金融开放浪潮下我国多层次监管体系构建与创新研究》教学研究课题报告.docx
- 区域教育质量监测中人工智能应用的数据质量分析与优化策略教学研究课题报告.docx
- 《金融科技监管中的数据治理与合规性要求》教学研究课题报告.docx
- 《3D打印技术在航空航天领域中的多材料制造与复合材料应用》教学研究课题报告.docx
- 《绿色金融发展中的政府职能与市场机制研究》教学研究课题报告.docx
- 《植物工厂多层立体栽培光环境调控技术对植物生长发育节律的调控机制探讨》教学研究课题报告.docx
- 销售团队年度业绩总结.docx
- 银行风险管理与金融危机防范.docx
- 银行网络攻击预警与快速响应机制.docx
文档评论(0)