- 1、本文档共51页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
网络操作系统;学习目标;本章内容;课程议题;一、应用程序接口的概念;Windows API;;;应用程序接口(API);开放API接口分类;一、TLI/XTI函数;1.TLI/XTI结构;2.TLI/XTI实例;二、TLI/XTI的服务模式;课程议题;一、套接字;Socket协议的形象描述;通信原理;socket;套接字分类;套接字之间的连接过程分为三步骤;2 套接字的应用;练习;练习;;课程议题;一、winsock概述;;二、使用WinSock实现网络通信;服务器工作的大致过程;客户端工作的大致过程;;二、WinSock的使用及重要函数讲解:;;2建立通信连接;一个套接字用socket()创建后,它其实还没有与任何特定的本地或目的地址相关联。在很多情况下,应用程序并不关心他们使用的本地地址,这时可以不调用此函数,而由协议软件为他们选择一个。如果要使用指定的端口,则创建了一个套接口之后,服务器必须调用bind()函数给套接口分配一个本地协议地址,捆绑端口。 函数原形:
int?bind(int?sockfd,const?struct?sockaddr?*myaddr,socklen_t?addrlen); 参数sockfd是绑定的套接字描述符,是由socket返回的;myaddr
是与套接字绑定的一个本地地址结构,其长度可变,结构随协议族的不
同而不同;addrlen是myaddr的长度。 返回0表示函数调用成功,返回-1(SOCKET_ERROR)表示出错。 ; connect()函数:将套接字连接到目的地址? 初始创建的套接字并未与任何外地目的地址关联,客户端调用connect()为套接字绑定一个永久的目的地址,将它置于已经连接的状态。对数据流方式的套接字,必须在传输数据前,调用connect()构造一个与目的地的TCP连接,并不能构造连接时返回一个差错代码。如果是数据报方式则不是必须在传输数据之前调用connect。 函数原形: int?connect(int?s,const?struct?sockaddr?*servaddr,socklen_t?addrlen); s是本地套接字描述符;servaddr是指向对方套接字地址结构的指针,这里的套接口地址是服务器的套接口地址,包括服务器的IP地址和端口号,指明了要连接到的服务器;addrlen是对方套接字地址结构的长度。 返回0表示调用成功,返回-1表示出错。 ; listen()函数:设置等待连接状态
对于一个服务器的程序,当申请到套接字,并调用bind()与本地地址绑定后,就应该等待某个客户机的请求连接。函数listen()就是把套接字置为这种状态,它仅被服务器调用,它使服务器的套接口成为一个监听套接口。事实上当用socket()函数建立一个套接口时,它是一个主动套接口,也就是说它应该调用connect()函数向服务器发起连接的套接口,函数Listen()将此套接口转变为被动套接口,使它接受客户向它发出的连接请求。 函数原形: int?listen(int?sockfd,int?backlog); ? 参数sockfd是套接字描述符;backlog是指明等待连接的队列的最大长度,可以取1-5。 返回0表示调用成功,返回-1表示出错。 ; accept()函数:接收连接请求
服务器进程使用系统调用socket,bind和listen创建一个套接字,将它绑定到知名的端口,并指定连接请求的队列长度,进入监听状态,当有连接请求到达时,服务器调用accept()接收连接请求,它返回一个新建立的连接。 函数原形: int?accept(int?sockfd,struct?sockaddr?*?cliaddr,socklen_t?*addrlen); 参数sockfd是套接字描述符;指针cliaddr用于返回请求连接的客户方套接字地址;指针addrlen用于返回该地址结构的长度。 如果没有发生错误,则返回新的套接字,否则返回INVALID_SOCKET。 ;;3 发送和接收数据
当服务器端和客户端建立连接以后,就可以在两台机器之间传送数据,也即是用winsock?API函数在两台连接成功的机器之间进行通信。下面我们介绍几个传送数据的函数,无论是客户端,还是服务器端都可以使用这些函数: 在数据流方式中,一个连接建立以后,或者在数据报方式下,调用了connect()进行了套接字与目的地址的绑定后,就可以调用send()和recv()进行数据传输。 ;;;; 如果我们以数据报的方式通信
您可能关注的文档
- 铸造马智敏概念.ppt
- 有限空间培训材料材料概念.ppt
- 直流集中式供电解决方案概念.ppt
- 直流脉宽(PWM)调速系统设计与——主电路设计课设概念.doc
- 直流屏招标文件概念.doc
- 有限空间作业安全04概念.ppt
- 直流牵引电动机的特性概念.ppt
- 直流调速系统(教师版)2-1概念.ppt
- 直流稳压充电器原理概念.ppt
- 直流稳压电源概念.ppt
- 金融产品2024年投资策略报告:积极适应市场风格,行为金融+机器学习新发现.pdf
- 交运物流2024年度投资策略:转型十字路,峰回路又转(2023120317).pdf
- 建材行业2024年投资策略报告:板块持续磨底,重点关注需求侧复苏.pdf
- 宏观2024年投资策略报告:复苏之路.pdf
- 光储氢2024年投资策略报告:复苏在春季,需求的非线性增长曙光初现.pdf
- 公用环保2024年投资策略报告:电改持续推进,火电盈利稳定性有望进一步提升.pdf
- 房地产2024年投资策略报告:聚焦三大工程,静待需求修复.pdf
- 保险2024年投资策略报告:资产负债匹配穿越利率周期.pdf
- 政策研究2024年宏观政策与经济形势展望:共识与分歧.pdf
- 有色金属行业2024年投资策略报告:新旧需求共振&工业原料受限,构筑有色大海星辰.pdf
最近下载
- 结题报告高中物理小课题.PPT
- NB∕T 32037-2017 光伏发电建设项目文件归档与档案整理规范.pdf VIP
- 2024《高考志愿填报咨询服务意愿的影响因素实证研究》16000字.docx
- 无线网络优化模考试题(附答案).docx
- 中图版高中地理必修第二册课后习题 第四章 国土开发与保护 第一节 京津冀协同发展的地理背景 (2).doc VIP
- 工厂消防安全设备检查记录表.docx VIP
- 海绵城市监理实施细则.doc VIP
- 人教版小学二年级数学下册期中试卷.doc VIP
- 巴黎奥运樊振东乒乓球故事介绍【优质公开课】精品PPT课件模板.pptx
- 丽声北极星分级绘本第一级上 A Day with Monster Toon课件 .pptx VIP
文档评论(0)