网络程序设计_试题2004
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
考试时间120 分钟
网络应用程序设计试题班级学号姓名
任课教师
一、单项选择题(10分)
1.___协议提供面向连接的、可靠的数据流服务。
①UDP ②IP
③TCP ④ICMP
2.ICMP数据包一定是被封装在___数据包中传输的。
①UDP ②IP
③TCP ④ATM
3.使用UDP协议时,调用函数connect(),可以____。
①获取通信另一方的IP地址
②启动三次握手操作
③获取通信另一方的接收队列长度
④获取通信另一方接收缓存区的大小
4.TCP套接字函数中___不会产生阻塞。
①bind ②read
③accept ④write
5.网络编程时,不需要考虑字节顺序的数据类型是____。
①int ②char
③float ④struct
6.调用fork( )函数产生子进程后,进程的运行顺序是____。
①先运行父进程,后运行子进程
②先运行子进程,后运行父进程
③先运行进程号较小的进程
④不确定
7.以下函数中可以清除Zombie进程的函数是____。
①close ②exit
③waitpid ④shutdown
8.进程响应信号时,不能对信号____作“忽略”处理。
①SIGURG ②SIGINT
③SIGSTOP ④SIGALARM
9.采用多路复用I/O 监听3个套接字的数据时,如果套接字描述符分别是:
5、17、19,则select(int maxfd, struct fd_set* rdset, NULL,NULL) 中的
maxfd应取为___。
① 5 ②3
③19 ④20
10.超级服务进程的启动文件/ e t c / i n e t d . c o n f 中,wait 字段设置为nowait,通常表示此项服务____。
①是并发服务②是循环服务
③采用UDP协议工作④是单线程服务
二、简答题(25分)
1.套接字函数close( ) 与shutdown( ) 的差别?
2.函数fork( ) 与exec( ) 的差别?
3.创建一个守护进程有哪些步骤?
4.管道与管套有何差别?
5.怎样调用fcntl将一个阻塞式套接字转换为非阻塞式套接字?
三、使用TCP套接字完成如下服务器和客户机的编程工作(15分)
客户机产生两个随机整数,服务器将这两个随机数相乘,结果返回给客户机,并在客户机上显示。
四、编程产生3个程序代码完全相同的子进程:子进程1、子进程2
和子进程3,并使子进程所产生的僵尸项,按“2-1-3”的顺序被清除。(15分)(提示:采用进程号数组pid[3])
五、采用预创建5个子进程的方式,编程实现一个TCP并发服务器。
(15分)