




已阅读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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025甘肃平凉市集善乐业残健融合数字化就业培训中心招聘考前自测高频考点模拟试题及参考答案详解1套
- 2025湖北十堰市城市发展控股集团有限公司及所属子公司招聘拟聘用人员模拟试卷及答案详解(名校卷)
- 2025年宿州市立医院招聘42人模拟试卷及答案详解一套
- 2025年上半年内江市部分学校公开考试招聘教师、部分事业单位公开考试招聘工作人员笔试考前自测高频考点模拟试题及一套答案详解
- 2025届春季河南新乡市卫龙校园招聘考前自测高频考点模拟试题及完整答案详解一套
- 2025辽宁鞍山市事业单位招聘大学生退役士兵50人模拟试卷附答案详解(突破训练)
- 2025湖南岳阳临湘市城东粮食收储有限公司招聘模拟试卷含答案详解
- 2025贵州铜仁市生态环境局所属事业单位引进高人才11人模拟试卷及答案详解(各地真题)
- 2025年黑河逊克县乡村医生公开招聘19人考前自测高频考点模拟试题及完整答案详解1套
- 2025广东东莞东坑镇松实东中招聘镇聘教师27人考前自测高频考点模拟试题及完整答案详解
- 2025年合肥市社会化工会工作者招聘34人笔试备考试题及答案解析
- 非婚生子女法律抚养权协议范本
- 2025年新版中层副职面试题及答案
- 蜂窝组织炎护理小讲课
- 智慧树知道网课《工业机器人技术基础》课后章节测试满分答案
- (一检)泉州市2026届高三高中毕业班质量监测(一)数学试卷(含标准答案)
- 纤维转盘滤布滤池运行维护技术说明
- 2025至2030中国无烟产品行业发展趋势分析与未来投资战略咨询研究报告
- 2021年全球工作场所状况报告 State of the Global Workplace 2021 Report
- 球墨铸铁管-施工方案(3篇)
- (正式版)DB35∕T 2242-2025 《户用光伏发电系统安装技术规范》
评论
0/150
提交评论