2024年3月24日发(作者:)
第1章 Visual C++网络编程概述
Visual C++(后面简写为VC)网络编程是指用户使用MFC类库(微软基础类
库)在VC编译器中编写程序,以实现网络应用。用户通过VC编程实现的网
络软件可以在网络中不同的计算机之间互传文件、图像等信息。本章将向用户
介绍基于Windows操作系统的网络编程基础知识,其开发环境是VC。在VC
编译器中,使用Windows Socket进行网络程序开发是网络编程中非常重要的一
部分。
1.1 网络基础知识
如果用户要进行
VC
网络编程,则必须首先了解计算机网络通信的基本框
架和工作原理。在两台或多台计算机之间进行网络通信时,其通信的双方还必
须遵循相同的通信原则和数据格式。本节将向用户介绍
OSI
七层网络模型、
TCP/IP
协议以及
C/S
编程模型。
1.1.1 OSI七层网络模型
OSI
网络模型是一个开放式系统互联的参考模型。通过这个参考模型,用户
可以非常直观地了解网络通信的基本过程和原理。
OSI
参考模型如图
1.1
所示。
图1.1 OSI七层网络模型
用户从
OSI
网络模型可以很直观地看到,网络数据从发送方到达接收方的
过程中,数据的流向以及经过的通信层和相应的通信协议。事实上在网络通信
的发送端,其通信数据每到一个通信层,都会被该层协议在数据中添加一个包
头数据。而在接收方恰好相反,数据通过每一层时都会被该层协议剥去相应的
包头数据。用户也可以这样理解,即网络模型中的各层都是对等通信。在
OSI
七层网络模型中,各个网络层都具有各自的功能,如表
1.1
所示。
表1.1 各网络层的功能
协
议
层
名
物理硬件层
数据链路层
网络层
数据传输层
会话层
表示层
应用层
功
能
概
述
表示计算机网络中的物理设备。常见的有计算机网卡等
将传输数据进行压缩与加压缩
将传输数据进行网络传输
进行信息的网络传输
建立物理网络的连接
将传输数据以某种格式进行表示
应用程序接口
注意:在表1.1中列出了OSI七层网络模型中各层的基本功能概述。用户根据这些基本
的功能概述会对该网络模型有一个比较全面的认识。
1.1.2 TCP/IP协议
TCP/IP
协议实际上是一个协议簇,其包括了很
多协议。例如,
FTP
(文本传输协议)、
SMTP
(邮
件传输协议)等应用层协议。
TCP/IP
协议的网络模
型只有
4
层,包括数据链路层、网络层、数据传输
图1.2 TCP/IP网络协议模型
层和应用层,如图
1.2
所示。
在
TCP/IP
网络编程模型中,各层的功能如表
1.2
所示。
表1.2 TCP/IP网络协议各层功能
协
议
层
名
数据链路层
网络层
数据传输层
应用层
IP
协议等互联协议
为应用程序提供通信方法,通常为
TCP
、
UDP
协议
负责处理应用程序的实际用于层协议
功
能
概
述
网卡等网络硬件设备以及驱动程序
在数据传输层中,包括了
TCP
和
UDP
协议。其中,
TCP
协议是基于面向连
接的可靠的通信协议。其具有重发机制,即当数据被破坏或者丢失时,发送方
将重发该数据。而
UDP
协议是基于用户数据报协议,属于不可靠连接通信的协
议。例如,当用户使用
UDP
协议发送一条消息时,并不知道该消息是否已经到
达接收方,或者在传输过程中数据已经丢失。但是在即时通信中,
UDP
协议在
对一些对时间要求较高的网络数据传输方面有着重要的
作用。
1.1.3 C/S编程模型
C/S
编程模型是基于可靠连接的通信模型。在通信的双方必须使用各自的
IP
地址以及端口进行通信。否则,通信过程将无法实现。通常情况下,当用户
使用
C/S
模型进行通信时,其通信的任意一方称为客户端,则另一方称为服务
器端。


发布评论