《Winsock编程接口》PPT课件

《Winsock编程接口》PPT课件

ID:45099987

大小:1.36 MB

页数:94页

时间:2019-11-09

《Winsock编程接口》PPT课件_第1页
《Winsock编程接口》PPT课件_第2页
《Winsock编程接口》PPT课件_第3页
《Winsock编程接口》PPT课件_第4页
《Winsock编程接口》PPT课件_第5页
资源描述:

《《Winsock编程接口》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第二章Winsock编程接口Windows套接字简介字节顺序和Winsock的寻址方式WinsockAPI基本函数数据报套接字编程流式套接字编程1.Windows套接字简介Winsock来源Sockets本来是Unix操作系统上流行的一种网络编程接口(API)。API:ApplicationProgrammingInterface发展过程:1983年在Berkeley大学4.2BSDUNIX中首先使用,因此被称为BerkeleySocketAPI(只支持TCP/IP协议)。后来在4.3BSDUNIX中增加了对OSI网络协议的支持。应用平台:UNIX、L

2、INUX产生Winsock:WinsockAPI在1991年根据4.3BSDUNIX的BerkeleySocket制定的。Winsock规范Winsock规范:一套开放的、支持多种协议的Windows下的网络编程接口。主要支持TCP/IP协议。Winsock规范主要包括Windows提供的API函数:符合BerkeleySocket风格的库函数; 针对Windows的一组扩展库函数。发展过程:1991年的1.0版到1997年的2.2版(主要扩充了对其它协议的支持)。应用平台:Windows系列Winsock实现库两个版本:Winsock1和Winsoc

3、k2。 现在大都使用Winsock2,Winsock2库的最新版本是2.2。Winsock实现库采用Winsock1的应用必须包含winsock.h头文件。使用Winsock2的应用必须包含winsock2.h头文件。不同平台对应不同的库版本。套接字基本概念套接字可以看成是两个网络应用程序进行通信时,各自通信连接中的一个端点。在编写网络应用程序时,应先申请套接字,以后两台机器上的程序通过该套接字进行通信。在网络程序编程中,通过将IP、端口与一个套接字绑定,并指明通信协议,从而来实现应用程序与TCP/IP协议的交互。套接字通信模型套接字套接字协议驱动程序

4、网络接口卡(NIC)客户端服务器基于TCP/IP的网络调用数据发送函数把信息写入套接字调用数据接收函数把数据从套接字读出中间环节套接字可以看成是两个网络应用程序进行通信时,各自通信连接中的一个端点。如下图:套接字中的信息通过驱动程序送入网卡,然后经网络发送到远端服务器网卡将接收到的信息通过驱动程序送入套接字进程C进程S套接字(Socket)分类流式套接字(SOCK_STREAM)数据报套接字(SOCK_DGRAM)原始套接字(SOCK_RAW)打电话在TCP/IP协议组中,使用TCP协议来实现流式套接字。发信在TCP/IP协议组中,使用UDP协议来实现

5、数据报套接字。该套接字允许对底层协议(如IP或ICMP)进行直接访问,常用来测试新安装的网络设备,以及对流经网卡的数据进行捕获分析。它定义了一种无连接、不可靠的双向数据传输服务。它定义了一种可靠的、面向连接的双向数据传输服务。2.字节顺序和Winsock的寻址方式字节顺序含义:占内存多于一个字节类型的数据在内存中的存储顺序。通常有如下两种存储顺序:1.Littleendian:将低序字节存储在起始地址(低序优先)2.Bigendian:将高序字节存储在起始地址(高序优先)低序高序如一个32位的长整型数0x12345678跨越4个字节(每字节8位)内存地

6、址1000100110021003低序优先存储顺序:0x780x560x340x12高序优先存储顺序:0x120x340x560x78然而处于主机上的数据却因不同的CPU上运行的操作系统的不同,字节顺序也不同,参见下表。通常根据所处的位置不同,低序优先字节顺序和高序优先字节顺序我们又分别称为主机字节顺序和网络字节顺序。处理器操作系统字节排序HP-PANT低序优先HP-PAUNIX高序优先Intelx86全部低序优先Motorola680x()全部高序优先因此,我们常说的主机字节顺序,就是低序优先,但主机上的字节顺序却不尽都是低序优先。网络字节顺序是TC

7、P/IP中规定的一种数据表示格式,它与具体的CPU类型、操作系统等无关,从而可以保证数据在不同主机之间传输时能够被正确解释。不同字节顺序转换函数主机字节顺序h—host;网络字节顺序n—networku_shorthtons(u_shorthostshort);把一个u_short型的主机字节顺序存储的数转换为网络字节顺序存储.2字节数转换u_longhtonl(u_longhostlong);把一个u_long型的主机字节顺序存储的数转换为网络字节顺序存储.4字节数转换u_shortntohs(u_shortnetshort);把一个u_short型

8、的网络字节顺序存储的数转换为主机字节顺序存储.2字节数转换u_longntohl(u_long

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。