陆建德《网络程序设计》《网络程序设计》第02章附录5- Linux Socket 网络编程.pptVIP

陆建德《网络程序设计》《网络程序设计》第02章附录5- Linux Socket 网络编程.ppt

  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文档。上传文档
查看更多
* * * 无连接通信的适用场景 面向数据报 网络数据大多为短消息 拥有大量客户 对数据安全性无特殊要求 网络负担非常重,但对响应速度要求高 Socket基本编程技术 * 无连接socket通信示例—公共函数 Socket基本编程技术 * 无连接socket通信示例—公共函数 Socket基本编程技术 * 无连接socket通信示例—服务程序 Socket基本编程技术 * 无连接socket通信示例—服务程序 Socket基本编程技术 * 无连接socket通信示例—服务器程序 Socket基本编程技术 * 无连接socket通信示例—客户程序 Socket基本编程技术 * 无连接socket通信示例—客户程序 Socket基本编程技术 * 服务器请求处理流程—循环服务器方案 UDP实现框架 没有一个客户端可以一直占用服务端 只要处理过程不是死循环,则服务器对于每一个客户机的请求总是能够满足 ?? s=socket(...); ???bind(s, ...); ???while(1) ????{ ?????????recvfrom(s, ...); ?????????process(...); ?????????sendto(s, ...); ???} Socket基本编程技术 * 服务器请求处理流程—循环服务器方案 TCP实现框架 每次接受一个客户端连接 完成某客户所有请求后,断开连接 ? s=socket(...); ?????bind(s, ...); ?????listen(s, ...); ?????while(1){ ?????????ns=accept(s, ...); ?????????{ ??????????????read(ns, ...); ??????????????process(...); ??????????????write(ns, ...); ?????????} ?????????close(ns); ?????} close(s); Socket基本编程技术 TCP实现框架 ? s = socket(...); //蓝色部分为父进程 ??bind(s, ...); ??listen(s, ...); ??while(1)?{ ????? ns = accept(s, ...); ????? if(fork(..)==0) ?{ //红色部分为子进程 ??????? ???? ??????close(s); read(ns, ...); ???????????process(...); ???????????write(ns, ...); ? close(ns); exit(0); } ????? close(ns); ??} close(s); exit(0);?? * 服务器请求处理流程—并发服务器方案 Socket基本编程技术 * 多线程客户/服务器示例—线程实现 功能描述 客户端 使用线程向服务器发送从标准输入得到的字符 在主线程中将从服务器端返回的字符显示到标准输出 服务器端 将客户端发来的数据原样返回给客户端,每一个客户在服务器上对应一个线程 Socket基本编程技术 * 多线程客户/服务器示例—线程实现 客户端 Socket基本编程技术 * 多线程客户/服务器示例—线程实现 客户端 Socket基本编程技术 Sockfd未实例化!!! * 多线程客户/服务器示例—线程实现 服务器端 Socket基本编程技术 * 多线程客户/服务器示例—线程实现 服务器端 Socket基本编程技术 * 本章提要 网络通信协议基础 Socket基本编程技术 Socket高级编程技术 服务器并发处理优化途径 阻塞式I/O 非阻塞式I/O * 轮询式 多路复用式 Socket高级编程技术 * 服务器并发处理优化途径 多路复用I/O 工作机理 进程可在多个socket上等待网络事件,当某个socket发生网络事件时,用户可通过查看网络事件对该socket事件进行I/O操作 要求应用程序不断向内核写入socket描述符,内核还应不断扫描socket集来检测状态 实现途径 预先构造一张描述符表,随后通过select()选择一个已准备好的描述符并返回 应用场景 一个进程中有多个客户连接(存在多个TCP 套接字描述符),select()函数阻塞直到任何一个描述符被激活 避免进程为等待一个已连接上的数据而无法处理其他连接 Socket高级编程技术 * select()函数 int?select(i

您可能关注的文档

文档评论(0)

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

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

版权声明书
用户编号:8135026137000003

1亿VIP精品文档

相关文档