网络编程接口-概述.ppt_第1页
网络编程接口-概述.ppt_第2页
网络编程接口-概述.ppt_第3页
网络编程接口-概述.ppt_第4页
网络编程接口-概述.ppt_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本章概要,第8章 网络编程接口,本章讨论在Windows下,运用Sockt网络编程接口实现计算机之间的通信。,本章讨论内容属于软件接口。,第1节 网络通信概述,1 网络通信的硬件接口 通信电缆 多组双绞线,信号差分传输。 网卡 网卡通过PCI总线与CPU连接; 网卡上有一片网络通信控制芯片,如UM9008、3COM的9543S等。 网卡上有一片RAM,用于存放要发送和接收到的数据包。 对网卡的操作 (1)对设置控制芯片进行初始化设置,如:指定MARK地址、指定收、发缓冲区、收、发方式等; (2)将要发送的数据按802.3协议的格式写入卡上的RAM,并写入发送命令,开始发送; (3)若接收到数据包,写入接收命令,并从RAM中的接收缓冲区读取数据包。,网卡,RAM,接口控制芯片,差分隔离变压器,E2PROM,保存MARK地址等配置参数,2 网络协议与通信模型,3 应用程序与传输层的接口 为了使程序员能方便地利用协议,Windows提供了各种网络编程接口API函数。常用的有: Windows Sockets(WinSock)、NetBIOS、WinInt等。,第2节 WinSock 编程模型,WinSock 是Windows下,用户编写应用程序时使用的API接口函数。,WinSock 以DLL形式出现,在编程时,由应用程序加载。 WinSock提供了一系列的导出函数,用于建立、连接Socket;接收、发送数据等。 WinSock有两种版本: Winsock1.1 : Windows 95、WinNT4 Winsock2.2 : Windows98/2000/xp,使用 WinSock编程,先应启动WinSock,其函数原型如下:,int WSAStartup( WORD wVersionRequested, /要求使用Winsock的最低版本号 LPWSADATA lpWSAData / 指向WSADATA结构,以返回 /Winsock 的详细资料 );,WinSock启动后,使用如下步骤编程:,1 建立Socket,SOCKET socket( int af, /地址家族,通常使用:AF_INET int type, / socket的种类, SOCK_STREAM =TCP协议, SOCK_DGRAM =UDP协议 int protocol /所使用的协议,0 );,连接Socket,有两种函数,原型如下:,建立一个有连接的Socket: int connect ( SOCKET s, /指向用Socket函数生成的Socket 描述字 const struct sockaddr FAR* name, /指向服务器地址结构的指针 int namelen /该地址的长度 );,建立一个非连接的Socket: int bind ( SOCKET s , /指向用Socket函数生成的Socket 描述字 const struct sockaddr FAR *addr , /指向Socket地址结构的指针 int namelen /该地址的长度 );,3 使用一个有连接的Socket, 发送和接收数据:,int recv ( SOCKET s , /指向用Socket函数生成的Socket 描述字 char FAR *buf , /数据的缓冲区(数组)的指针 int len , /缓冲区的大小 int flags /调用方式 );,int send ( SOCKET s, /指向用Socket函数生成的Socket 描述字 const char FAR * buf, /发送的缓冲区(数组)的指针 int len, /缓冲区的大小 int flags /调用方式 );,4 使用无连接的Socket接收、发送数据,int recvfrom ( SOCKET s, /指向用Socket函数生成的Socket 描述字 char FAR* buf, /接收数据的缓冲区(数组)的指针 int len, /缓冲区的大小 int flags, /调用方式,0 struct sockaddr FAR* from, /指向发送方SOCKET地址的指针 int FAR* fromlen /发送方SOCKET地址的大小 );,int sendto ( SOCKET s , /指向用Socket函数生成的Socket 描述字 const char FAR *buf , /发送数据的缓冲区(数组)的指针 int len , /缓冲区的大小 int flags , /调用方式,0 const struct sockaddr FAR *to , /指向接收方SOCKET地址的指针 int token /接收方SOCKET地址的大小 );,第3节 MFC对Socket的支持,MFC提供了两个Socket类: Casync Socket 类: 封装了Windows Ssocket 的API; Csocket 类: 从Casync Socket 类派生,支持同步操作,便于使用线程。,第4节 Socket编程举例,本节运用Windows Socket API函数,实现Socket编程。具体为: 在局域网上实现两台计算机相互通信。甲机发送数据,乙机收到后予以显示。 局域网中不设置专门的服务器,因此,应采用UDP协议,每台计算机既是服务器,也是客户机。 采用线程工作。主线程发送数据,再专门创建一个工作线程来接收数据

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论