网络编程入门共27页
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
网络编程技术
Visual C++ 6.0开发平台
❖Visual C++ 6.0是微软推出的产品,它提供了 强大的编译能力以及良好的界面操作性。能够对 C++程序设计提供完善的编程环境。
❖Visual C++ 6.0是可视化软件开发平台,具有 强大面向对象功能
❖ 在此平台下可以利用微软已经封装好的基本类库, 开发网络通信软件。
导入
❖ 计算机和网络通信的出现给人们的生活带来了革 命性的变化
❖ 计算机的硬件离不开软件,通信软件使计算机网 络硬件的具体功能得以实现
❖Microsoft Visual C++是由微软开发的可视 化软件开发平台,具有强大面向对象功能,可以 开发开发网络通信软件
网络编程技术
本章要点
❖ Visual C++ 6.0开发平台的基本使用技巧 ❖ 网络通信编程基本原理 ❖ 常见网络工具软件分析
网络编程技术
网络程序设计模型——C/S结构
❖ C/S结构是网络程序设计的基本模型,它是一个 典型的分布式结构。
❖ 在C/S结构中,服务器程序始终处于监听状态, 当被监听的服务端口处有服务请求时,立即响应 客户的服务请求。
❖ 客户机在发出服务请求信号前,必须指定服务器 地址和端口号才能获得相应的服务。
❖ ARP协议:地址解析协议(Address Resolution Protocol)。它的基本功能就是通过目标设备的IP地址, 查询目标设备的MAC地址,以保证通信的顺利进行。பைடு நூலகம்
❖ RARP协议:反向地址解析协议(Reverse Address Resolution Protocol)。负责把主机硬件地址映射为 网络地址,也就是把MAC地址转化为对应的IP地址。 RARP协议的功能与ARP协议恰恰相反。
网络编程技术
主要网络协议
❖ TELNET协议:终端协议(Telnet Terminal Protocol)。提供了远程登录服务,允许用户以虚拟终 端方式访问远程主机。
❖ ICMP协议:网间报文控制协议(Internet Control Message Protocol),它的功能是处理IP主机或者路 由器之间的差错和传输控制。
网络编程技术
计算机网络分层
网络编程技术
TCP/IP协议
网络编程技术
主要协议在网络层中的分布情况
网络编程技术
主要网络协议
❖ TCP协议:传输控制协议(Transmission Control Protocol)。是面向连接的协议,它可以提供可靠传输 服务。
❖ UDP协议:用户数据报协议(User Datagram Protocol)。UDP协议提供了用户进程的无连接服务。
了供ClassView、WizardBar和Component Gallery使 用的信息,由VC开发环境自动生成。当自动完成功能出问题 时可以删除此文件。编译工程后会自动生成。 ❖ .rc:资源定义文件。 ❖ .clw:ClassWizard生成的用来存放类信息的文件。 ❖ .aps:存放二进制资源的中间文件,VC把当前资源文件转换 成二进制格式,并存放在APS文件中,以加快资源装载速度。 ❖ .h:用C/C++语言编写的头文件,通常用来定义数据类型, 声明变量、函数、结构和类。 ❖ .cpp:用C++语言编写的源代码文件。
网络编程技术
Visual C++ 6.0项目文件
网络编程技术
Visual C++ 6.0项目中的主要文件
❖ .dsp:VC开发环境生成的工程文件,非常重要。 ❖ .dsw:VC开发环境生成的WorkSpace文件,用来把多个工
程组织到一个WorkSpace中。 ❖ .ncb:ncb是“No Compile Browser”的缩写,其中存放
❖ 它描述了两个通信点之间的连接。确切的说,套 接字(socket)是用来实现主机和主机通信的一 个接口。
❖ 通过它可以完成主机间的通信操作,它位于协议 之上,屏蔽了底层的协议,让用户能够实现各种 类型的通信操作。
网络编程技术
Visual C++ 6.0调试工具 ❖ 调试工具
网络编程技术
网络通信基础
面向连接的服务 VS 面向无连接的服务
❖ 面向连接的服务:发送信息的源计算机必须首先 与接收信息的目的计算机建立连接。一旦连接建 立起来, 相互连接的计算机就可以进行数据交换。 它是可靠的。
❖ 面向无连接的服务:发送信息的计算机把数据以 一定的格式封装在数据帧中,把目的地址和源地 址加在信息头上,然后把帧交给网络进行发送。 无连接服务是不可靠的。
❖ C/S结构的优点是能充分发挥客户端PC的处理能 力,很多工作可以在客户端处理后再提交给服务 器,客户端响应速度快。
网络编程技术
服务器端:
1、打开一通信通道并告知本地主机,它愿意在某 一个公认地址上接收客户请求。
2、等待客户请求到达该端口。 3、接收到重复服务请求,处理该请求并发送应答
信号。 4、返回第二步,等待另一客户请求 5、关闭服务器。
❖ HTTP协议:超文本传输协议(Hypertext Transfer Protocol)。提供了网页浏览服务,是现在应用最广的 协议之一。
❖ FTP协议:文件传输控制协议(File Transfer Protocol)。提供了文件的传输功能和一些常用的文件 操作。
❖ SMTP协议:简单邮件传输协议(Simple Mail Transfer Protocol)。提供了邮件的传送服务。
网络编程技术
客户端:
1、打开一通信通道,并连接到服务器所在主机的 特定端口。
2、向服务器发送服务请求报文,等待并接收应答; 继续提出请求……
3、请求结束后关闭通信通道并终止。
网络编程技术
请求和应答请求的基本过程
网络编程技术
套接字编程的基本原理
什么是套接字?
❖ 套接字(socket)是网络计算机与应用程序之 间发送和接收数据的方式的一种抽象描述。
网络编程技术
使用Visual C++ 6.0创建一个新工程 ❖第一步:启动并进入Visual C++ 6.0的集成开
发环境。
网络编程技术
创建一个新工程 ❖ 选择“文件”→“新建”,在弹出的对话框中选
择新建工程的类型
网络编程技术
创建一个新工程
网络编程技术
创建一个新工程
网络编程技术
新工程的运行结果
Visual C++ 6.0开发平台
❖Visual C++ 6.0是微软推出的产品,它提供了 强大的编译能力以及良好的界面操作性。能够对 C++程序设计提供完善的编程环境。
❖Visual C++ 6.0是可视化软件开发平台,具有 强大面向对象功能
❖ 在此平台下可以利用微软已经封装好的基本类库, 开发网络通信软件。
导入
❖ 计算机和网络通信的出现给人们的生活带来了革 命性的变化
❖ 计算机的硬件离不开软件,通信软件使计算机网 络硬件的具体功能得以实现
❖Microsoft Visual C++是由微软开发的可视 化软件开发平台,具有强大面向对象功能,可以 开发开发网络通信软件
网络编程技术
本章要点
❖ Visual C++ 6.0开发平台的基本使用技巧 ❖ 网络通信编程基本原理 ❖ 常见网络工具软件分析
网络编程技术
网络程序设计模型——C/S结构
❖ C/S结构是网络程序设计的基本模型,它是一个 典型的分布式结构。
❖ 在C/S结构中,服务器程序始终处于监听状态, 当被监听的服务端口处有服务请求时,立即响应 客户的服务请求。
❖ 客户机在发出服务请求信号前,必须指定服务器 地址和端口号才能获得相应的服务。
❖ ARP协议:地址解析协议(Address Resolution Protocol)。它的基本功能就是通过目标设备的IP地址, 查询目标设备的MAC地址,以保证通信的顺利进行。பைடு நூலகம்
❖ RARP协议:反向地址解析协议(Reverse Address Resolution Protocol)。负责把主机硬件地址映射为 网络地址,也就是把MAC地址转化为对应的IP地址。 RARP协议的功能与ARP协议恰恰相反。
网络编程技术
主要网络协议
❖ TELNET协议:终端协议(Telnet Terminal Protocol)。提供了远程登录服务,允许用户以虚拟终 端方式访问远程主机。
❖ ICMP协议:网间报文控制协议(Internet Control Message Protocol),它的功能是处理IP主机或者路 由器之间的差错和传输控制。
网络编程技术
计算机网络分层
网络编程技术
TCP/IP协议
网络编程技术
主要协议在网络层中的分布情况
网络编程技术
主要网络协议
❖ TCP协议:传输控制协议(Transmission Control Protocol)。是面向连接的协议,它可以提供可靠传输 服务。
❖ UDP协议:用户数据报协议(User Datagram Protocol)。UDP协议提供了用户进程的无连接服务。
了供ClassView、WizardBar和Component Gallery使 用的信息,由VC开发环境自动生成。当自动完成功能出问题 时可以删除此文件。编译工程后会自动生成。 ❖ .rc:资源定义文件。 ❖ .clw:ClassWizard生成的用来存放类信息的文件。 ❖ .aps:存放二进制资源的中间文件,VC把当前资源文件转换 成二进制格式,并存放在APS文件中,以加快资源装载速度。 ❖ .h:用C/C++语言编写的头文件,通常用来定义数据类型, 声明变量、函数、结构和类。 ❖ .cpp:用C++语言编写的源代码文件。
网络编程技术
Visual C++ 6.0项目文件
网络编程技术
Visual C++ 6.0项目中的主要文件
❖ .dsp:VC开发环境生成的工程文件,非常重要。 ❖ .dsw:VC开发环境生成的WorkSpace文件,用来把多个工
程组织到一个WorkSpace中。 ❖ .ncb:ncb是“No Compile Browser”的缩写,其中存放
❖ 它描述了两个通信点之间的连接。确切的说,套 接字(socket)是用来实现主机和主机通信的一 个接口。
❖ 通过它可以完成主机间的通信操作,它位于协议 之上,屏蔽了底层的协议,让用户能够实现各种 类型的通信操作。
网络编程技术
Visual C++ 6.0调试工具 ❖ 调试工具
网络编程技术
网络通信基础
面向连接的服务 VS 面向无连接的服务
❖ 面向连接的服务:发送信息的源计算机必须首先 与接收信息的目的计算机建立连接。一旦连接建 立起来, 相互连接的计算机就可以进行数据交换。 它是可靠的。
❖ 面向无连接的服务:发送信息的计算机把数据以 一定的格式封装在数据帧中,把目的地址和源地 址加在信息头上,然后把帧交给网络进行发送。 无连接服务是不可靠的。
❖ C/S结构的优点是能充分发挥客户端PC的处理能 力,很多工作可以在客户端处理后再提交给服务 器,客户端响应速度快。
网络编程技术
服务器端:
1、打开一通信通道并告知本地主机,它愿意在某 一个公认地址上接收客户请求。
2、等待客户请求到达该端口。 3、接收到重复服务请求,处理该请求并发送应答
信号。 4、返回第二步,等待另一客户请求 5、关闭服务器。
❖ HTTP协议:超文本传输协议(Hypertext Transfer Protocol)。提供了网页浏览服务,是现在应用最广的 协议之一。
❖ FTP协议:文件传输控制协议(File Transfer Protocol)。提供了文件的传输功能和一些常用的文件 操作。
❖ SMTP协议:简单邮件传输协议(Simple Mail Transfer Protocol)。提供了邮件的传送服务。
网络编程技术
客户端:
1、打开一通信通道,并连接到服务器所在主机的 特定端口。
2、向服务器发送服务请求报文,等待并接收应答; 继续提出请求……
3、请求结束后关闭通信通道并终止。
网络编程技术
请求和应答请求的基本过程
网络编程技术
套接字编程的基本原理
什么是套接字?
❖ 套接字(socket)是网络计算机与应用程序之 间发送和接收数据的方式的一种抽象描述。
网络编程技术
使用Visual C++ 6.0创建一个新工程 ❖第一步:启动并进入Visual C++ 6.0的集成开
发环境。
网络编程技术
创建一个新工程 ❖ 选择“文件”→“新建”,在弹出的对话框中选
择新建工程的类型
网络编程技术
创建一个新工程
网络编程技术
创建一个新工程
网络编程技术
新工程的运行结果