- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
UDP程序设计
9.1 UDP网络程序设计模型 9.1.1 UDP程序工作流程 根据前面介绍的知识我们知道,TCP协议是基于数据流形式进行数据传输的,而UDP协议是基于数据报模式进行数据传输的。它的通信双方是不需要建立连接的,对于一些速度要求较高可靠性要求不高的网络应用程序来说,数据报通信是一个非常好的选择 。 数据报是网络层数据单元在介质上传输信息的一种逻辑分组格式,它是一种在网络中传播的、独立的、自身包含地址和端口号信息的消息,它能否到达目的地、到达的时间、到达时内容是否会变化不能准确地知道。 无连接的数据报(SOCK_DGRAM)传输服务在传输层使用UDP协议,与面向连接的通信过程不同,它的最大特点是不需要在客户和服务器之间先建立连接。通信的任何一方可以先发送数据,这样首先发送数据的一方就成了客户端,而接收数据的一方就是服务器端。在数据传输完成后,只要关闭套接口释放网络资源,通信过程就结束了。 9.1 UDP网络程序设计模型 9.1.1 UDP程序工作流程 无连接的数据报传输服务通信时,客户端与服务器端所使用的函数是类似的。其工作流程如下: ? 第一步:使用WSAStartup()函数检查系统协议栈的安装情况。常用格式为: WSAStartup(0x0202,wsaData); WSAStartup(MAKEWORD(2,2),wsaData); ? 第二步:使用socket()或WSASocket()函数创建套接口,以确定了相关五元组的协议。常用格式有如下几种: 9.1 UDP网络程序设计模型 9.1.1 UDP程序工作流程 SOCKET s=socket(AF_INET,SOCK_DGRAM,IPPROTO_UDP); SOCKET s=socket(AF_INET,SOCK_DGRAM,0); SOCKET s=WSASocket(AF_INET,SOCK_DGRAM,IPPROTO_TCP,NULL,0,WSA_FLAG_OVERLAPPED); SOCKET s=WSASocket(AF_INET,SOCK_DGRAM,0,NULL,0,WSA_FLAG_OVERLAPPED); 9.1 UDP网络程序设计模型 9.1.1 UDP程序工作流程 ? 第三步:使用bind()函数将创建的套接口与本地地址绑定。它确定了相关五元组中的本地IP地址和端口号。 常用格式:bind(s,(const struct sockaddr*)localaddr,sizeof(sockaddr)); ? 第四步:使用sendto()或WSASendTo()函数发送数据,也可使用recvfrom()或WSARecvFrom()函数接收数据。 ? 第五步:使用closesocket()函数关闭套接口。 ? 第六步:最后调用WSACleanup()函数,结束Windows Sockets API的使用。 至此,一次无连接的数据报传输过程结束。 9.1 UDP网络程序设计模型 9.1.2 程序框架 无连接的客户与服务器之间的交互通信模型可以图9-1表示。 9.1 UDP网络程序设计模型 9.1.2 程序框架 图9-1所示的通信模型也明确的表示出了无连接的客户机/服务器程序框架,图中在进行数据交换时,双方均可以发送数据和接收数据。 在具体编写无连接的客户机/服务器程序时,应该注意以下几个问题: ? 通信的一方可以不用bind()绑定IP地址和端口,而由系统自动分配,但要注意不绑定IP地址和端口的一方必须首先向绑定地址的一方发送数据。 ? 无连接应用程序也可以调用connect()函数,但是它并不向对方发出建立连接的请求,内核只是将connect()中指定的目标端IP地址和端口号记录下来,在以后的通信中就可以使用面向连接的数据发送send()和数据接收revc()函数。 9.1 UDP网络程序设计模型 9.1.2 程序框架 ? 无连接的数据报传输过程中,做为服务器的一方必须要先启动,否则客户请求传不到服务进程。 ? 由于无连接的客户端一般不调用connect(),因此在数据发送之前,客户与服务器之间尚未建立一个全相关(五元组),但各自通过socket()和bind()调用建立了半相关。发送数据时,发送方除指定本地套接口的地址外,还需指定接收方套接口的地址,从而在数据收发过程中动态地建立了全相关。 9.2 UDP实例程序1 实例程序说明 本实例程序使用的编程环境为Visual C++6.0,使用的是控制台程序“Win32 Console Application”。通信协议使用无连接的UDP协议(SOCK_DGRAM)。服务器端IP地址由系统指定,端口号在程序中指定为5050,用符号常量定义。 编该实例中我们编写一个基于数据报的客户机/服务器交互程
您可能关注的文档
- spc统计过剩管制.ppt
- SponsoredReviews:付费评论让你的博客赚钱.doc
- Spring AOP课件.ppt
- Spring IoC课件.ppt
- Spring串讲.doc
- SPSS论文中部消费收入关系分析.doc
- Sp技巧运用销售培训.ppt
- sp有哪些信誉好的足球投注网站竞价业务方案.ppt
- SQl_Server上机实验_答案_华中科技大学.doc
- SQL_Server简介.ppt
- 2025年演出经纪人宣传推广中的心理学应用专题试卷及解析.pdf
- 2025年演出经纪人演出音响应急预案与突发状况处理专题试卷及解析.pdf
- 2025年演出经纪人演出市场必威体育精装版政策法规解读与趋势分析专题试卷及解析.pdf
- 2025年中国果汁牛肉脯数据监测研究报告.docx
- 2025年演出经纪人元宇宙演出的国际化推广与跨文化运营专题试卷及解析.pdf
- 2025年中国后灯罩数据监测研究报告.docx
- 2025年中国聚乙烯醇脱模剂数据监测研究报告.docx
- 2025年AWS认证解决方案架构师-利用CostExplorer评估不同EC2购买选项(RI_SP_On-Demand)组合策略专题试卷及解析.pdf
- 2025年中级会计师长期应付款的核算:融资租赁专题试卷及解析.pdf
- 2025年AWS认证AmazonEC2实例购买选项与CloudWatch监控专题试卷及解析.pdf
最近下载
- 汽车保险与理赔教学课件(简约版)项目2 车险赔款计算.pdf VIP
- 把自己重养一遍读书记录 .pdf VIP
- 2024年考试商业摄影师高级题库附答案.docx VIP
- 2024年摄影师技能理论知识考试题库(附答案).docx VIP
- 2024年艺术摄影师、商业摄影师等技能及理论知识考试题库(附含答案).docx VIP
- 2025年艺术摄影师、商业摄影师等技能及理论知识考试题库(附含答案).docx VIP
- 2025年艺术摄影师、商业摄影师等技能及理论知识考试题库(附含答案).docx VIP
- 2023年商业摄影师摄影技术方法及理论知识考试题库(附含答案).pdf VIP
- 笼养蛋鸡钙、磷与骨骼代谢规律及其调节机制-动物营养与饲料科学专业论文.docx VIP
- 2024年商业摄影师技能竞赛理论考试题库备赛500题(含答案).pdf VIP
有哪些信誉好的足球投注网站
文档评论(0)