网络软件设计1——套接字概述祥解.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
网络软件设计1——套接字概述祥解.ppt

* 7、客户/服务器模式 7.1 什么是客户/服务器模式 通信双方,要求一方先在确定的端口等待,另一方才发起通信的模式 等待的一方:服务器, 被动 发起方: 客户机, 主动 网络 客户 服务器 S C 服务请求 服务响应 后续通信 客户/服务器模式 * 7.2 为什么采用客户服务器模式 7.2.1 从应用的模型角度 文件下载上传、网络数据库访问、信息获取 远程终端、远程控制 邮件通信 终端对话、IP电话 网络广播、点播 网络 A方:启动应用,向 对方发出请求 B方:对请求应答, 提供服务 … 后续通信 客户/服务器模式 * 7.2.2 从一次通信的正确过程的角度 聚集的原理(rendezvous):如何使双方“走”到一起? SOCKET s; connect(对方) s = socket(…) 连接上? 是 否 SOCKET s; connect(对方) s = socket(…) 连接上? 是 否 要同时启动连接才可能 连接上 客户/服务器模式 推理 * 聚集的原理 实验方案 测试两个服务进程都等待对方连接,是否能够成功 测试两个客户进程不断尝试与对方连接,是否能够成功 实验结论 应该很难获得成功 验证 客户/服务器模式 * 聚集的原理 服务器等待客户机发起连接是通信成功的先决条件 C/S模式是网络通信软件实现的基本模式 反思 客户/服务器模式 * 7.2.3 C/S 的基本特点 服务器长期运行,持续准备提供服务 客户机:提出及中止服务的随意性强 突出优点 随机的通信请求(客户机) 随时的通信畅通(服务器) 客户/服务器模式 * 客户/服务器模式 7.3 客户/服务器模式对软件设计的影响 通信双方的软件不同--客户端软件,服务器端软件 各有不同的流程 各有不同的要求 再结合网络通信的特点 面向连接的通信 无连接的通信 * 服务方式 面向连接 面向无连接 软件模式 服务器 客户机 综合服务方式 和 软件模式对软件设计的影响 得到四种基本类型软件: 面向连接的服务器 面向无连接的服务器 面向连接的客户机 面向无连接的客户机 客户/服务器模式 * 7.4 面向连接的服务器 流程: 申请套接字 确定本地端点,填写端点地址 建立套接字与端点关系 设置为监听模式(服务器模式) 接受一个连接 完成通信过程 关闭连接的套接字 s = socket( … ); bind( s,address…); address = …; listen(s); newsock = accept( s ); recv( newsock ); send( newsock ) closesocket( newsock ) 确定我是谁 确定我与谁通信 思考为什么建立新的套接字与客户完成通信 客户/服务器模式 * 7.5 面向连接的客户机 流程 申请套接字 确定本地端点,填写端点地址 确定服务器端点 与服务器建立连接 完成通信过程 关闭套接字 s = socket( … ); c_addr = …; 建立套接字与端点关系 bind(s,c_addr…); s_addr = …; connect(s , s_addr); recv( s ); send( s ); closesocket( s ); 隐式 绑定 客户/服务器模式 * 7.7 无连接服务器 申请套接字 确定本地端点,填写端点地址 等待接收数据 完成通信过程 关闭套接字 s = socket( ); recvfrom( ) sendto( ),recvfrom( ) closesocket( ) 建立端点与套接字关系 bind( ) 客户/服务器模式 * 7.8 无连接客户机 申请套接字 确定本地端点,填写端点地址 s = socket( ); 建立端点与套接字关系 bind( ) 发送数据 sendto( ) 完成通信过程 关闭套接字 sendto( ),recvfrom( ) closesocket( ) 客户/服务器模式 * 标识即为索引 段景山 网络软件设计 套接字基本原理 制作 主讲 段景山 * 网络软件类型 Socket BSD sockets--基于C Windows sockets 1.0/2.0 MFC Csocket类 其它语言环境 JAVA C++,Boost库,asio C# 与网络通信有关的 Asp--动态网页制作 Restful,WebService 数据库 * 套接字服务的基本原理 套接字、端口、服务方式 编写简单的通信程序 内容 * 套接字编程的基本原理 1、引入 1.1 网络通信是一个复杂的过程 功能的层次性 协议

文档评论(0)

光光文挡 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档