1 / 28
文档名称:

Windows网络编程.doc

格式:doc   大小:3,660KB   页数:28页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

Windows网络编程.doc

上传人:jiqingyong11 2018/4/30 文件大小:3.57 MB

下载得到文件列表

Windows网络编程.doc

文档介绍

文档介绍:Windows网络编程
课程编号
C10
课程内容
介绍计算机网络TCP\IP模型和OSI参考模型的对应层次关系、每层主要功能以及相关重要协议介绍的基本概念。最后介绍使用API网络编程的基本步骤,MFC对Socket的封装并分别进行代码举例
编写日期
2006-04-13
作者
李伟(bingweiwei-2001@)
目录
1. OSI参考模型和TCP\IP参考模型 3
. 每个层次功能及主要协议介绍 3
2. Windows Socket网络程序开发步骤 4
. Windows API网络应用程序举例 4
. 应用程序缺点及克服 10
3. MFC网络应用程序开发举例 12
. MFC对Socket的封装 12
. 具体实现代码工程实例 13
OSI参考模型和TCP\IP参考模型
TCP/IP传输控制协议/网际协议是业界标准的协议组。它是基于四层参考模型,属于TCP/IP协议组的所有协议都位于该模型的上面三层。TCP/IP模型的每一层对应于国际标准化组织(ISO)提议的七层“开放系统互联(OSI)”参考模型的一层或者多层。
图 10- 1
每个层次功能及主要协议介绍
使用下表描述每一层所提供的服务以及所使用的协议:
表 10- 1

描述
协议
应用层
定义了TCP/IP应用协议以及主机程序与要使用网络的传输层服务之间的接口
HTTP,,FTP ,TFTP SNMP, DNS ,SMTP等
传输层
提供主机之间的通讯会话管理,定义传输数据时的服务级别以及连接状态
TCP ,UDP ,RTP
网络层
将数据装入IP数据包,包括用于在主机间以及经过网络转发数据包时所用的源和目标地址信息。实现IP数据包的路由
IP ,ICMP ,ARP ,RARP
网络接口层
指定如何通过网络物理地发送数据,包括直接与网络媒体直接接触的硬件设备如何将比特流转换为电信号
以太网\帧中继\令牌环
了解TCP/IP核心协议:
1地址解析协议(ARP):实现IP地址到物理地址的转换;
2 网际协议(IP):是无连接的、不可靠的数据报协议,主要负责主机之间的寻址和选择数据包的路由;
3网际消息协议(ICMP):通过ICMP,使用IP通信的主机和路由器可以报告错误并交换受限控制和状态信息;
4用户数据报协议(UDP):在主机之间提供轻便、快捷、不可靠地传输数据;
5传输控制协议(TCP):提供可靠的、面向连接的数据报传递服务。
UDP/ TCP比较:
表 10- 2
UDP
TCP
无连接的服务:在主机间不建立会话
面向连接的服务:在主机间建立会话
UDP不能确保或承认数据传递或序列化数据
TCP通过确认和按照顺序传递数据来确保数据的传递
使用UDP的程序负责提供数据传递的可靠性
TCP确保数据的可靠传输
UDP非常快,具有低开销要求,支持点对点或者一点对多点的通信
TCP比较慢,具有更高的开销要求,只支持点对点通信。
Windows Socket网络程序开发步骤
表 10- 3
服务器端
客户端
创建流式套接字s1=socket(…)
将本地地址与s1相连接bind(s1,…)
监听来自客户方的连接listen(s1,…)
接受连接,并且得到新的套接字s2
s2=accept(s1,…)
建立连接
建立流式套接字s=socket(…)
将套接字和服务器端主机连接
connect(s,…)
在套接字s2上读些数据,直到数据交换完
recv(s2,…) send(s2,…)
关闭套接字s2 colsesocket(s2)
关闭套接字s1 closesocket(s1)
传输数据
在套接字上读写数据,直到数据交换完。Send(s1….),recv(s1,…)
关闭套接字s closesocket().
Windows API网络应用程序举例
依照如下步骤建立工程:
application工程 WSocketAPI,在向导中选择典型的hello world工程:
图 10- 2
API函数,:
图 10- 3
,用于通知对端读取数据:
图 10- 4
、连接和发送菜单项:
图 10- 5
:
图 10- 6
工程建好以后,接下来进行代码添加:回忆一下API编程中,菜单、用户自定义消息这些代码都应该添加在什么地方?尤其留意一下API编程中菜单消息,用户自定义消息响