全部博文(556)
分类: 系统运维
2012-04-19 22:42:19
一、实验目的
1. 理解五种I/O模型及其区别。
2. 掌握I/O复用模型,掌握select和poll函数的使用方法。
二、实验内容
1. 分别使用select和poll函数编写TCP回射服务器程序。
2. 使用select函数编写TCP回射客户程序。
三、实验步骤
1. 搭建网络编程实验环境
按照《网络编程实验环境搭建》进行。
2.编写基于I/O复用的TCP程序
1)打开终端窗口,建立一个文件夹,假如文件夹的名称是tcpdemo,可使用命令mkdir tcpdemo进行。
2)进入tcpdemo文件夹(cd tcpdemo),使用vi编辑器编写
² 编写服务器端程序:
n 使用select函数编写TCP回射服务器程序
点击(此处)折叠或打开
n 使用poll函数编写TCP回射服务器程序
点击(此处)折叠或打开
² 编写客户端程序
点击(此处)折叠或打开
点击(此处)折叠或打开
实验结果:
在客户端输入aaa,然后回显aaa
四 实验总结
通过本次实验,了解了I/O复用:select和poll函数,有了I/O复用,我们就可以调用select或poll,在这两个系统调用中的某一个上阻塞,而不是阻塞于真正的I/O系统调用。I/O复用模型最常用的函数时select,因此对select函数的掌握对于I/O复用的学习是有很大的帮助。通过本次实验的学习,强化了TCP客户-服务器程序的基本框架,使我真正明白了客户端和服务器直接回射的机理,熟悉了Ubuntu,同时对网络底层的一些运行原理有了很好的理解及掌握。
参考资料:《Unix网络编程》