"深入理解网络编程:协议、模型与实例案例"

需积分: 5 0 下载量 163 浏览量 更新于2024-01-05 收藏 466KB DOCX 举报
第13章 网络编程.docx 网络编程是一种让计算机与计算机之间建立连接、进行通信的技术。通过计算机网络,多台计算机可以实现连接,从而实现信息的传输和交换。网络通信需要遵守一定的规则和协议,这些规则被称为网络通信协议。网络通信协议规定了数据的传输格式、传输速率、传输步骤等内容,通信双方必须同时遵守才能完成数据交换。 在本章中,我们将学习网络编程的相关知识。首先我们会介绍常见的计算机网络类型,其中包括互联网、万维网和物联网。互联网是将点与点相连的网络,通过互联网可以使得全球各地的计算机实现连接。万维网是一种基于互联网的超文本系统,通过端与端相连的方式实现信息共享和访问。物联网则是指物与物相连的网络,通过传感技术和网络通信实现物品之间的信息交互。 在网络编程中,我们会涉及到一些重要的网络模型,其中最著名的是OSI参考模型和TCP/IP模型。OSI参考模型(Open System Interconnect)是开放式系统互联模型,它将网络通信划分为七个不同的层次,包括物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。每一层在通信过程中承担不同的功能,通过分层处理使得整个通信过程更为高效和可靠。TCP/IP模型是一个较为简洁的网络模型,它将整个网络通信分为四个层次,包括网络接口层、网络层、传输层和应用层。TCP/IP模型是目前计算机网络中最常用的模型,其协议也是网络编程中必须要掌握的。 网络编程中最常用的两种协议是UDP和TCP。UDP(User Datagram Protocol)是一种无连接的协议,它在通信过程中不需要像TCP一样进行连接的建立和断开,因此传输速率较快,但是可靠性较低。TCP(Transmission Control Protocol)则是一种面向连接的协议,它通过三次握手建立连接,并且保证数据的可靠性,但传输速率相对较慢。在网络编程中,我们需要根据需要选择使用UDP还是TCP协议来进行通信。 关于网络编程,我们需要了解的三个要素是协议、IP地址和端口号。协议是通信双方在进行数据传输时所遵守的规则,它规定了数据的传输格式和步骤。IP地址是指互联网协议地址,它是网络上各个节点的标识,通过IP地址可以唯一地定位到某台计算机。端口号是指计算机上用于接收和发送数据的进程或服务的标识,通过端口号可以确定数据是由哪个进程接收或发送的。 在TCP编程中,客户端向服务器发送数据的过程可以分为三步:建立连接、发送数据和接收响应。客户端首先通过建立连接来与服务器进行通信,建立连接的过程需要进行三次握手来确认连接的可靠性。建立连接后,客户端可以向服务器发送数据,并等待服务器的响应。服务器在接收到客户端的数据后进行处理,并将处理结果返回给客户端。 本章的最后,我们将通过一个简易的聊天案例来加深对UDP编程的理解。UDP编程中使用的类是DatagramSocket和DatagramPacket。DatagramSocket是一个用于发送和接收UDP数据报的类,通过DatagramSocket可以进行通信的建立和数据的传输。DatagramPacket是用于封装数据的类,通过DatagramPacket可以将数据进行封装并发送给指定的目的地。 总的来说,本章主要介绍了网络编程的概述、常见的计算机网络类型、网络通信协议、网络模型、UDP和TCP协议以及UDP编程的相关知识。网络编程是一项重要的技术,它使得计算机与计算机之间可以进行连接和通信,为信息的传输和交换提供了基础。了解和掌握网络编程可以使我们更好地利用计算机网络,实现自己的需求和目标。
2023-05-31 上传
JAVA 面向对象程序设计教程 第13章 Java网络编程 第13章-Java网络编程-Java面向对象程序设计教程-微课视频版-程杰-清华大学出版社全文共17页,当前为第1页。 第13章 Java网络编程 第13章-Java网络编程-Java面向对象程序设计教程-微课视频版-程杰-清华大学出版社全文共17页,当前为第2页。 13.1 TCP/IP协议简介 13.2 网络开发中的常用工具类 13.3 面向连接的TCP通信 13.4 无连接的UDP通信 13.5 UDP广播通信 13.6 局域网通信工具 第13章 Java网络编程 第13章-Java网络编程-Java面向对象程序设计教程-微课视频版-程杰-清华大学出版社全文共17页,当前为第3页。 13.1 TCP/IP协议简介 第13章-Java网络编程-Java面向对象程序设计教程-微课视频版-程杰-清华大学出版社全文共17页,当前为第4页。 13.1 TCP/IP协议简介 底层网络 网络层 传输层 应用层 底层网络协议 网页浏览 文件传输 电子邮件 视频会议 IP TCP UDP 第13章-Java网络编程-Java面向对象程序设计教程-微课视频版-程杰-清华大学出版社全文共17页,当前为第5页。 TCP 则提供面向连接的服务。 1.端到端的传输协议TCP 主机 A 主机 B 建立连接 数据传输 释放连接 第13章-Java网络编程-Java面向对象程序设计教程-微课视频版-程杰-清华大学出版社全文共17页,当前为第6页。 UDP 在传送数据之前不需要先建立连接。虽然 UDP 不提供可靠交付,但在某些情况下 UDP 是一种最有效的工作方式。 1. 端到端的传输协议UDP 第13章-Java网络编程-Java面向对象程序设计教程-微课视频版-程杰-清华大学出版社全文共17页,当前为第7页。 端口号是一个标记机器的逻辑通信信道的正整数。 IP地址和端口号组成了所谓的Socket套接字。Socket是网络上运行的程序之间双向通信链路的真正终端。 Socket的概念 第13章-Java网络编程-Java面向对象程序设计教程-微课视频版-程杰-清华大学出版社全文共17页,当前为第8页。 端口号是用一个16位的整数来表达的,其范围为0~65535,其中0~1023为系统所保留。 Socket的概念 第13章-Java网络编程-Java面向对象程序设计教程-微课视频版-程杰-清华大学出版社全文共17页,当前为第9页。 为了方便开发,Java中提供了很多进行网络开发的辅助类,通过这些类的恰到使用可以在网络开发中达到事半功倍的效果。针对网络通信的不同层次,Java提供的网络开发的辅助类有四大类:InetAddress 、URLs、Sockets、Datagram。 InetAddress面向的是IP层,用于标识网络上的硬件资源。 URL面向的应用层,通过URL,Java程序可以直接送出或读入网络上的数据。 Sockets和Datagram面向的则是传输层。Sockets使用的是TCP协议,这是传统网络程序最常用的方式,可以想象为两个不同的程序通过网络的通信信道进行通信。 Datagram则使用UDP协议,是另一种网络传输方式,它把数据的目的地纪录在数据包中,然后直接放在网络上。 13.2 网络开发中的常用工具类 第13章-Java网络编程-Java面向对象程序设计教程-微课视频版-程杰-清华大学出版社全文共17页,当前为第10页。 Java提供的网络开发辅助类都包含在java.net包中,其主要的类和可能产生的异常包括: 面向IP层的类:InetAddress 面向应用层的类:URL、URLConnection TCP协议相关类:Socket、ServerSocket UDP协议相关类:DatagramPacket、DatagramSocket、MulticastSocket 可能产生的异常:BindException、ConnectException、MalformedURLException、NoRouteToHostException、ProtocolException、SocketException、UnknownHostException、UnknownServiceException 本节将介绍两个常用的工具类,URL与InetAddress。 13.2 网络开发中的常用工具类 第13章-Java网络编程-Java面向对象程序设计教程-微课视频版-程杰-清华大学出版社全文共17页,当前为第11页。 URL是统一资源定位符(Uniform Resource Locator)的简称,它表示Internet上某一资源的地址。Internet上的资源包括HTML文件、图象文件、声音文件