- 15
- 0
- 约7.15千字
- 约 48页
- 2017-02-15 发布于江苏
- 举报
网络高级编程 在实际情况中,人们往往遇到多个客户端连接服务器端的情况。由于之前介绍的如connet()、recv()和send()等都是阻塞性函数,如果资源没有准备好,则调用该函数的进程将进入睡眠状态,这样就无法处理I/O多路复用的情况了。 本节给出了两种解决I/O多路复用的解决方法,这两个函数都是之前学过的fcntl()和select() 。 fcntl() 函数fcntl()针对socket编程提供了如下的编程特性。 ? 非阻塞I/O:可将cmd设置为F_SETFL,将lock设置为O_NONBLOCK。 异步I/O:可将cmd设置为F_SETFL,将lock设置为O_ASYNC。 示例 阅读并运行示例10-3-1。 select() 使用fcntl()函数虽然可以实现非阻塞I/O或信号驱动I/O,但在实际使用时往往会对资源是否准备完毕进行循环测试,这样就大大增加了不必要的CPU资源的占用。在这里可以使用select()函数来解决这个问题,同时,使用select()函数还可以设置等待的时间,可以说功能更加强大。 示例 阅读并运行10-3-2。 10.4 ping源码分析 ping简介(1) ping是网络中应用非常广泛的一个软件,它是基于ICMP协议的。下面首先对ICMP协议做一些简单介绍。 ICMP是IP层的一个协议,它是用来探测主机、
您可能关注的文档
- 《医学免疫学》双语课程.doc
- 5:文言文句子翻译语意通畅.ppt
- 一、自由基基本知识.ppt
- 营养师基础知识二:医学知识.doc
- 多媒体网络教学系统设计方案.doc
- GIS算法_空间自相关.ppt
- 小学一年级英语教学设计.ppt
- 2013年文化传媒项目商业计划书.doc
- 1 初中英语教学的研究.ppt
- 速达生产企业管理系统S-ERP详细指导全书.doc
- 2026届甘肃省民勤三中高考化学三模试卷含解析.doc
- 2021年人力资源年终工作汇报 附2026年人力预算测算表 可直接套用.pptx
- 2021年直播间氛围打造提升停留时长培训课件.pptx
- 2026届广西钦州市第二中学高三第二次模拟考试历史试卷含解析.doc
- 2020应对儿童厌学叛逆专属心理健康教育宣讲课件.pptx
- 2026届江苏省南通巿启东中学5月高三月考物理试题.doc
- 2026年初中语文写作课件.pptx
- 2026年电子元件检测实训教程PPT.pptx
- 2026届安徽省肥东县圣泉中学高三下期末模拟联考数学试题.doc
- 广东省惠东县惠东高级中学2026届高三考前热身生物试卷含解析.doc
最近下载
- 2026年开封大学单招职业适应性测试题库及参考答案详解1套.docx VIP
- 数字地面模型地形分析.ppt
- 2026年开封大学单招职业适应性测试题库及答案详解1套.docx VIP
- 综合执法证考试题及答案.doc VIP
- 高中学业水平考试生物精要知识点.docx VIP
- 《劳动法与社会保障法社会保障法》课程教学大纲.docx VIP
- 高精度复合轴跟踪控制系统.ppt VIP
- 安徽省合肥市第八中学2024-2025学年高一下学期期中检测生物试卷(含答案).pdf VIP
- 2024年浙江省温州市中考科学试题卷(含答案解析).docx
- 2026年开封职业学院单招职业适应性测试题库及参考答案详解1套.docx VIP
原创力文档

文档评论(0)