欢迎来到天天文库
浏览记录
ID:36202011
大小:382.00 KB
页数:80页
时间:2019-05-07
《java网络编程技术(socket编程)ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第7章基于TCP/IP协议的Socket编程7.1TCP/IP协议7.2套接字(Socket)7.2.1Client/Server模式7.2.2套接字(Socket)概念7.3Socket类和ServerSocket类7.3.1Socket类7.3.2ServerSocket类7.4Socket编程应用举例7.4.1Socket编程的基本步骤7.4.2单客户/服务器Socket编程应用举例7.4.3多客户/服务器Socket编程应用举例本章小结7.1TCP/IP协议TCP/IP协议(传输控制协议/网际协议)是一种网络通信
2、协议,是一种面向连接的可靠的传输协议。它规范了网络上的所有通信设备,尤其是一个主机与另一个主机之间的数据传输格式以及传送方式。TCP/IP是Internet的基础协议。TCP/IP协议的基本传输单位是数据包(datagram)。TCP协议负责把数据分成若干个datagram,并给每个datagram加上包头;IP在每个包头上再加上接收端主机地址,以确定数据传输的目的地。如果传输过程中出现数据丢失或数据失真等异常情况,TCP协议会自动要求数据重发,并重新分包。TCP保证数据传输的质量,IP协议保证数据的传输。TCP/IP协
3、议数据的传输是基于TCP/IP模型的4层结构:应用层、传输层、网络层和网络接口层。TCP/IP协议组中两种主要协议1、传输层协议有两个主要的传输层协议:传输控制协议(TCP)和用户数据报协议(UDP)。(1)传输控制协议(TCP)TCP传输数据建立在面向连接的基础上,实现了一种“虚电路”的概念。双方通信之前,先建立连接,然后双方即可在其上发送数据流,发送完毕后再关闭连接。这种数据交换方式的优点是效率高,缺点是建立连接和关闭连接需要额外的开销。(1)TCP协议TCP协议主要提供下列服务:可靠的数据传输面向连接的虚电路缓冲的
4、传输重新排序多路复用技术高效的、全双工传输流量控制TCP协议提供的是一种可靠的数据流服务。得到的是一个顺序的无差错的数据流。(2)用户数据报协议(UDP)UDP是比TCP简单得多的协议,是对IP协议组的扩充。由于大多数网络应用程序都在同一台机器上运行,计算机上必须能够确保目的地址机器上的软件程序能从源地址机器处获得数据包,以及源计算机能收到正确的回复。这是通过使用UDP的“端口号”完成的。源端口号标识了请求域名服务的本地计算机的应用程序,同时需要将所有由目的主机生成的响应包都指定到源主机的这个端口上。UDP与TCP比较与
5、TCP不同,UDP提供的是面向无连接、“不可靠”的数据报服务。它不提供对IP协议的可靠机制、流控制以及错误恢复功能等。由于UDP比较简单,比TCP负载消耗少。主要用于不需要TCP排序和流量控制能力而是自己完成这些功能的应用程序。2、应用层协议在应用层中定义了许多高层协议:(1)TELNET(远程终端访问)TELNET连接是一个TCP连接。允许一台计算机上的用户登录到远程计算机上并进行交互。支持终端到终端的连接及进程到进程分布式计算的通信。(2)FTP(文件传输协议)FTP使得主机间可以共享文件。FTP使用TCP生成一个虚
6、拟连接用于控制信息,然后再生成一个单独的TCP连接用于数据传输。FTP主要提供文件共享、支持间接使用远程计算机、使用户不因各类主机文件存储器系统的差异而受影响、可靠且有效的传输数据等功能。(3)SMTP(简单邮件传输协议)SMTP支持在因特网上传递电子邮件,用于可靠且有效的数据传输。它保证把各种类型的电子邮件通过这一协议从一台邮件服务器发送到另一台邮件服务器上。(4)DNS(域名服务)DNS提供域名到IP地址的转换,允许对域名资源进行分散管理。(5)HTTP(超文本传输协议)是Web浏览器和Web服务器之间通信的标准协议
7、。它指明客户端如何与服务器建立连接,客户端如何从服务器请求数据,服务器如何响应请求,最后连接如何关闭等。HTTP连接是一个TCP连接。TCP/IP模型中还有其他一些协议,如地址解析协议(ARP)、因特网控制消息协议(ICMP)等。7.2套接字(Socket)套接字允许程序员把网络连接当成一个流(Stream),并向这个流读写字节。Socket对程序员掩盖了网络的低层细节,如纠错、包大小、包重传、网络地址等。本节将介绍Client/Server模式、套接字(Socket)概念。7.2.1Client/Server模式计算机
8、网络最重要的3个功能是数据通信、资源共享和分布处理。为了满足这些功能需求,计算机网络产生了两种重要的应用模式:客户端/服务器(Client/Server,C/S)模式和浏览器/服务器(Brower/Server,B/S)模式。采用何种应用模式在编程实现时非常重要。下面将主要介绍C/S模式。在C/S模式下,客户向服务器
此文档下载收益归作者所有