MFC网络编程.pdf
《MFC网络编程.pdf》由会员分享,可在线阅读,更多相关《MFC网络编程.pdf(50页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、网络程序设计教材一、一、一、一、TCP/IPTCP/IPTCP/IPTCP/IP 体系结构、特点及相关术语体系结构、特点及相关术语体系结构、特点及相关术语体系结构、特点及相关术语1 1 1 1、TCP/IPTCP/IPTCP/IPTCP/IP 体系结构体系结构TCP/IPTCP/IPTCP/IPTCP/IP协议实际上就是在物理网上的一组完整的网络协议协议实际上就是在物理网上的一组完整的网络协议协议实际上就是在物理网上的一组完整的网络协议协议实际上就是在物理网上的一组完整的网络协议。其中其中其中其中 TCPTCPTCPTCP是提供传输是提供传输是提供传输是提供传输层服务,而层服务,而层服务,而层
2、服务,而IPIPIPIP 则是提供网络层服务。则是提供网络层服务。则是提供网络层服务。则是提供网络层服务。TCP/IPTCP/IPTCP/IPTCP/IP包括以下协议包括以下协议包括以下协议包括以下协议:(结构如图(结构如图(结构如图(结构如图 1.11.11.11.1)IPIPIPIP:网间协议网间协议网间协议网间协议(Internet(Internet(Internet(Internet Protocol)Protocol)Protocol)Protocol)负责主机间数据的路由和网络上数据的存负责主机间数据的路由和网络上数据的存负责主机间数据的路由和网络上数据的存负责主机间数据的路由和网
3、络上数据的存储储储储。同时为同时为同时为同时为 ICMPICMPICMPICMP,TCPTCPTCPTCP,UDPUDPUDPUDP提供分组发送服务提供分组发送服务提供分组发送服务提供分组发送服务。用户进程通常不需要涉及这用户进程通常不需要涉及这用户进程通常不需要涉及这用户进程通常不需要涉及这一层。一层。一层。一层。ARPARPARPARP:地址解析协议地址解析协议地址解析协议地址解析协议(Address(Address(Address(Address ResolutionResolutionResolutionResolution Protocol)Protocol)Protocol)Pro
4、tocol)此协议将网络地址映射到硬件地址。此协议将网络地址映射到硬件地址。此协议将网络地址映射到硬件地址。此协议将网络地址映射到硬件地址。RARPRARPRARPRARP:反向地址解析协议反向地址解析协议反向地址解析协议反向地址解析协议(Reverse(Reverse(Reverse(Reverse AddressAddressAddressAddress ResolutionResolutionResolutionResolution Protocol)Protocol)Protocol)Protocol)此协议将硬件地址映射到网络地址此协议将硬件地址映射到网络地址此协议将硬件地址映射到网
5、络地址此协议将硬件地址映射到网络地址ICMPICMPICMPICMP:网间报文控制协议网间报文控制协议网间报文控制协议网间报文控制协议(Internet(Internet(Internet(Internet ControlControlControlControl MessageMessageMessageMessage Protocol)Protocol)Protocol)Protocol)此协议处理信关和主机的差错和传送控制。此协议处理信关和主机的差错和传送控制。此协议处理信关和主机的差错和传送控制。此协议处理信关和主机的差错和传送控制。TCPTCPTCPTCP:传送控制协议传送控制协议传
6、送控制协议传送控制协议(Transmission(Transmission(Transmission(Transmission ControlControlControlControl Protocol)Protocol)Protocol)Protocol)这是一种提供给用户进程的可靠的全双工字节流面向连接的协议这是一种提供给用户进程的可靠的全双工字节流面向连接的协议这是一种提供给用户进程的可靠的全双工字节流面向连接的协议这是一种提供给用户进程的可靠的全双工字节流面向连接的协议。它要为用户它要为用户它要为用户它要为用户进程提供虚电路服务,并为数据可靠传输建立检查进程提供虚电路服务,并为数据可靠
7、传输建立检查进程提供虚电路服务,并为数据可靠传输建立检查进程提供虚电路服务,并为数据可靠传输建立检查。(注:大多数网络用户程(注:大多数网络用户程(注:大多数网络用户程(注:大多数网络用户程序使用序使用序使用序使用 TCPTCPTCPTCP)UDPUDPUDPUDP:用户数据报协议用户数据报协议用户数据报协议用户数据报协议(User(User(User(User DatagramDatagramDatagramDatagram Protocol)Protocol)Protocol)Protocol)这是提供给用户进程的无连接协议,用于传送数据而不执行正确性检查。这是提供给用户进程的无连接协议,
8、用于传送数据而不执行正确性检查。这是提供给用户进程的无连接协议,用于传送数据而不执行正确性检查。这是提供给用户进程的无连接协议,用于传送数据而不执行正确性检查。FTPFTPFTPFTP:文件传输协议文件传输协议文件传输协议文件传输协议(File(File(File(File TransferTransferTransferTransfer Protocol)Protocol)Protocol)Protocol)允许用户以文件操作的方式允许用户以文件操作的方式允许用户以文件操作的方式允许用户以文件操作的方式(文件的增文件的增文件的增文件的增、删删删删、改改改改、查查查查、传送等传送等传送等传送等
9、)与另一主机相与另一主机相与另一主机相与另一主机相互通信。互通信。互通信。互通信。SMTPSMTPSMTPSMTP:简单邮件传送协议简单邮件传送协议简单邮件传送协议简单邮件传送协议(Simple(Simple(Simple(Simple MailMailMailMail TransferTransferTransferTransfer Protocol)Protocol)Protocol)Protocol)SMTPSMTPSMTPSMTP协议为系统之间传送电子邮件。协议为系统之间传送电子邮件。协议为系统之间传送电子邮件。协议为系统之间传送电子邮件。TELNETTELNETTELNETTELNE
10、T:终端协议:终端协议:终端协议:终端协议(Telnet(Telnet(Telnet(Telnet TerminalTerminalTerminalTerminal Procotol)Procotol)Procotol)Procotol)允许用户以虚终端方式访问远程主机允许用户以虚终端方式访问远程主机允许用户以虚终端方式访问远程主机允许用户以虚终端方式访问远程主机HTTPHTTPHTTPHTTP:超文本传输协议超文本传输协议超文本传输协议超文本传输协议(Hypertext(Hypertext(Hypertext(Hypertext TransferTransferTransferTransfe
11、r Procotol)Procotol)Procotol)Procotol)TFTP:TFTP:TFTP:TFTP:简单文件传输协议简单文件传输协议简单文件传输协议简单文件传输协议(Trivial(Trivial(Trivial(Trivial FileFileFileFile TransferTransferTransferTransfer Protocol)Protocol)Protocol)Protocol)2 2 2 2、IPIPIPIP 地址和子网掩码地址和子网掩码要学习要学习要学习要学习 TCP/IPTCP/IPTCP/IPTCP/IP协议,首先要提到的是协议,首先要提到的是协议,
12、首先要提到的是协议,首先要提到的是 IPIPIPIP 地址。每台主机的地址。每台主机的地址。每台主机的地址。每台主机的 IPIPIPIP 地址是一地址是一地址是一地址是一个个个个32323232 位的二进制数。每个位的二进制数。每个位的二进制数。每个位的二进制数。每个IPIPIPIP 地址被分割位两部分:前缀和后缀。前缀用来确定计地址被分割位两部分:前缀和后缀。前缀用来确定计地址被分割位两部分:前缀和后缀。前缀用来确定计地址被分割位两部分:前缀和后缀。前缀用来确定计算机从属的物理网络,后缀用来确定网络上单独的计算机。互联网上每一个物理算机从属的物理网络,后缀用来确定网络上单独的计算机。互联网上
13、每一个物理算机从属的物理网络,后缀用来确定网络上单独的计算机。互联网上每一个物理算机从属的物理网络,后缀用来确定网络上单独的计算机。互联网上每一个物理网络都有一个唯一的值作为网络号,该网络号必须全球一致。网络都有一个唯一的值作为网络号,该网络号必须全球一致。网络都有一个唯一的值作为网络号,该网络号必须全球一致。网络都有一个唯一的值作为网络号,该网络号必须全球一致。1 1 1 1、IPIPIPIP 地址分类:地址分类:地址分类:地址分类:IPIPIPIP地址分位五类:地址分位五类:地址分位五类:地址分位五类:A A A A 类、类、类、类、B B B B 类、类、类、类、C C C C 类、类、
14、类、类、D D D D 类、类、类、类、E E E E 类类类类其中其中其中其中A A A A 类、类、类、类、B B B B 类和类和类和类和C C C C 类为基本类类为基本类类为基本类类为基本类D D D D 类用于多播类用于多播类用于多播类用于多播E E E E 类属于保留类,现在不用。它们的格式如下(其中类属于保留类,现在不用。它们的格式如下(其中类属于保留类,现在不用。它们的格式如下(其中类属于保留类,现在不用。它们的格式如下(其中*代表网络号代表网络号代表网络号代表网络号):A A A A 类:类:类:类:0*0*0*0*XXXXXXXXXXXXXXXXXXXXXXXXXXXXX
15、XXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXB B B B 类:类:类:类:10*10*10*10*XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXC C C C 类:类:类:类:110*110*110*110*XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXD D D D 类:类:类:类:1110*1110*1110*1110*XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXX
16、XXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXE E E E 类:类:类:类:1111*1111*1111*1111*XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX这样,这样,这样,这样,A A A A 类地址的范围为:类地址的范围为:类地址的范围为:类地址的范围为:0.0.0.0-127.255.255.2550.0.0.0-127.255.255.2550.0.0.0-
17、127.255.255.2550.0.0.0-127.255.255.255B B B B 类地址的范围为:类地址的范围为:类地址的范围为:类地址的范围为:128.0.0.0-191.255.255.255128.0.0.0-191.255.255.255128.0.0.0-191.255.255.255128.0.0.0-191.255.255.255C C C C 类地址的范围为:类地址的范围为:类地址的范围为:类地址的范围为:192.0.0.0-223.255.255.255192.0.0.0-223.255.255.255192.0.0.0-223.255.255.255192.0.0
18、.0-223.255.255.255D D D D 类地址的范围为:类地址的范围为:类地址的范围为:类地址的范围为:224.0.0.0-239.255.255.255224.0.0.0-239.255.255.255224.0.0.0-239.255.255.255224.0.0.0-239.255.255.255E E E E 类地址的范围为:类地址的范围为:类地址的范围为:类地址的范围为:240.0.0.0-247.255.255.266240.0.0.0-247.255.255.266240.0.0.0-247.255.255.266240.0.0.0-247.255.255.266 几
19、个特殊几个特殊几个特殊几个特殊IPIPIPIP 地址地址地址地址网络地址:网络地址:网络地址:网络地址:IPIPIPIP 地址中主机地址全为地址中主机地址全为地址中主机地址全为地址中主机地址全为0 0 0 0 的地址,如的地址,如的地址,如的地址,如128.211.0.0128.211.0.0128.211.0.0128.211.0.0。广播地址:广播地址:广播地址:广播地址:IPIPIPIP 地址中主机地址全为地址中主机地址全为地址中主机地址全为地址中主机地址全为1 1 1 1 的地址,如的地址,如的地址,如的地址,如128.211.255.255128.211.255.255128.211
20、.255.255128.211.255.255。环回地址:环回地址:环回地址:环回地址:127.0.0.1127.0.0.1127.0.0.1127.0.0.1,主要用于测试。,主要用于测试。,主要用于测试。,主要用于测试。2 2 2 2、子网掩码:、子网掩码:、子网掩码:、子网掩码:现在的主机都要求支持子网掩码,不再把 IP 地址看成为由单纯的一个网络号和一个主机号组成,而是把主机号再分成一个子网号和一个主机号。例如一个B类地址(140.252),在剩下的 16 位中,8 位用于子网号,8 位用于主机号,这样就允许 254 个子网,每个子网就可以有 254 台主机。为了确定多少位用于子网号,
21、多少位用于主机号,这就要用到子网掩码了。其中值为 1 的位留给网络号和子网号,为 0 的位留给主机号。3 3 3 3、TCP/IPTCP/IPTCP/IPTCP/IP 特点特点TCP/IPTCP/IPTCP/IPTCP/IP协议的核心部分是传输层协议协议的核心部分是传输层协议协议的核心部分是传输层协议协议的核心部分是传输层协议(TCP(TCP(TCP(TCP、UDP)UDP)UDP)UDP),网络层协议网络层协议网络层协议网络层协议(IP)(IP)(IP)(IP)和物理接口层和物理接口层和物理接口层和物理接口层,这三层通常是在操作系统内核中实现。因此用户一般不涉及。编程时,编程界面这三层通常是
22、在操作系统内核中实现。因此用户一般不涉及。编程时,编程界面这三层通常是在操作系统内核中实现。因此用户一般不涉及。编程时,编程界面这三层通常是在操作系统内核中实现。因此用户一般不涉及。编程时,编程界面有两种形式:一、是由内核心直接提供的系统调用;二、使用以库函数方式提供有两种形式:一、是由内核心直接提供的系统调用;二、使用以库函数方式提供有两种形式:一、是由内核心直接提供的系统调用;二、使用以库函数方式提供有两种形式:一、是由内核心直接提供的系统调用;二、使用以库函数方式提供的各种函数。前者为核内实现,后者为核外实现。用户服务要通过核外的应用程的各种函数。前者为核内实现,后者为核外实现。用户服务
23、要通过核外的应用程的各种函数。前者为核内实现,后者为核外实现。用户服务要通过核外的应用程的各种函数。前者为核内实现,后者为核外实现。用户服务要通过核外的应用程序才能实现,所以要使用套接字序才能实现,所以要使用套接字序才能实现,所以要使用套接字序才能实现,所以要使用套接字(socket)(socket)(socket)(socket)来实现。来实现。来实现。来实现。图图图图1.21.21.21.2是是是是 TCP/IPTCP/IPTCP/IPTCP/IP协议核心与应用程序关系图。协议核心与应用程序关系图。协议核心与应用程序关系图。协议核心与应用程序关系图。二、专用术语二、专用术语二、专用术语二、
24、专用术语1、套接字它是网络的基本构件。它是可以被命名和寻址的通信端点,使用中的每一个套接字都有其类型和一个与之相连听进程。套接字存在通信区域(通信区域又称地址簇)中。套接字只与同一区域中的套接字交换数据(跨区域时,需要执行某和转换进程才能实现)。WINDOWS 中的套接字只支持一个域网际域。套接字具有类型。WINDOWS SOCKET 1.1 版本支持两种套接字:流套接字(SOCK_STREAM)和数据报套接字(SOCK_DGRAM)2、WINDOWS SOCKETS 实现一个 WINDOWS SOCKETS 实现是指实现了 WINDOWS SOCKETS 规范所描述的全部功能的一套软件。一般
25、通过 DLL 文件来实现3、阻塞处理例程阻塞处理例程(blocking hook,阻塞钩子)是 WINDOWS SOCKETS 实现为了支持阻塞套接字函数调用而提供的一种机制。4、多址广播(multicast,多点传送或组播)是一种一对多的传输方式,传输发起者通过一次传输就将信息传送到一组接收者,与单点传送(unicast)和广播(Broadcast)相对应。1 1 1 1、客户机、客户机/服务器模式服务器模式在 TCP/IP 网络中两个进程间的相互作用的主机模式是客户机/服务器模式(Client/Server model)。该模式的建立基于以下两点:1)非对等作用;2)通信完全是异步的。客户
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MFC 网络 编程
限制150内