当前位置:文档之家› 网络程序设计_试题2004

网络程序设计_试题2004

考试时间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分)。

相关主题