网络编程技术复习题1java习题.docx
- 文档编号:723608
- 上传时间:2022-10-12
- 格式:DOCX
- 页数:18
- 大小:26.91KB
网络编程技术复习题1java习题.docx
《网络编程技术复习题1java习题.docx》由会员分享,可在线阅读,更多相关《网络编程技术复习题1java习题.docx(18页珍藏版)》请在冰豆网上搜索。
网络编程技术复习题1java习题
一
练习题1
•问题:
Java网络程序位于TCP/IP参考模型的哪一层?
(单选)
•选项:
B
–a)网络层互联层
–b)应用层
–c)传输层网络
–d)主机-网络层
练习题2
•问题:
以下哪些协议位于传输层?
(多选)
•选项:
AD
–a)TCP
–b)HTTP
–c)SMTP
–d)UDP
–f)IP
练习题3
•问题:
假定一个进程已经占用TCP的80端口,它还能否占用UDP的80端口?
(单选)A
•选项:
–a)可以
–b)不可以
练习题4
•问题:
.一个客户进程执行以下代码
Socketsocket1=newSocket(host,port);
Socketsocket2=newSocket(host,port);
以下哪些说法正确?
(多选)
•选项:
AC
–a)socket1与socket2占用不同的本地端口。
–b)Socket构造方法中的port参数指定占用的本地端口。
–c)当Socket构造方法成功返回,就表明建立了与服务器的一个TCP连接。
–d)执行第二行程序代码会抛出异常,因为一个客户进程只能与服务器端建立一个TCP连接。
练习题5
•问题:
有一种协议规定:
如果客户端发送一行字符串“date”,服务器端就返回当前日期信息,如果客户端发送一行字符串“exit”,服务器端就结束与客户端的通信。
这种协议应该属于哪一层的协议?
(单选)
•选项:
B
–a)网络层互联层
–b)应用层
–c)传输层网络
–d)主机-网络层
练习题6
•问题:
HTTP协议规定,默认情况下,HTTP服务器占用的TCP端口号是什么?
(单选)
•选项:
C
–a)21
–b)23
–c)80
–d)任意一个未被占用的端口号
练习题7
•问题:
在客户/服务器通信模式中,客户与服务器程序的主要任务是什么?
(多选)
•选项:
BC
–a)客户程序在网络上找到一条到达服务器的路由。
–b)客户程序发送请求,并接收服务器的响应。
–c)服务器程序接收并处理客户请求,然后向客户发送响应结果。
–d)如果客户程序和服务器都会保证发送的数据不会在传输途中丢失。
练习题8
•问题:
从哪里可以找到描述TCP/IP协议的具体文档?
(单选)
•选项:
D
–a)JDK的JavaDoc文档
–b)NIC的官方网站
–c)国际标准化组织(ISO)的官方网站
–d)RFC的官方网站
练习题9
•问题:
一个服务器进程执行以下代码:
ServerSocketserverSocket=newServerSocket(80);
Socketsocket=serverSocket.accept();
intport=socket.getPort();
以下哪些说法正确?
(多选)
•选项:
ACD
–a)服务器进程占用80端口。
–b)socket.getPort()方法返回服务器进程占用的本地端口,此处返回值是80。
–c)当serverSocket.accept()方法成功返回,就表明服务器进程接收到了一个客户连接请求。
–d)socket.getPort()方法返回客户端套节字占用的本地端口。
二
练习题1
•问题:
对于以下程序代码:
Socketsocket=newSocket();//第1行
SocketAddressremoteAddr1=newInetSocketAddress("localhost",8000);//第2行
SocketAddressremoteAddr2=newInetSocketAddress("localhost",8001);//第3行
socket.connect(remoteAddr1,60000);//第4行
socket.connect(remoteAddr2,60000);//第5行
下面哪些说法是正确的?
(多选)
•选项:
CDE
–a)以上程序代码可以顺利编译和运行通过。
–b)第1行程序代码创建了一个与本地匿名端口绑定的Socket对象。
–c)第1行程序代码创建的Socket对象没有与任何服务器建立连接,并且没有绑定任何本地端口。
–d)第5行程序代码会运行出错,因为一个Socket对象只允许建立一次连接。
–e)第4行程序代码使Socket对象与一个服务器建立连接,并且绑定一个本地匿名端口。
练习题2
•问题:
当客户端执行以下程序代码时:
Socketsocket=newSocket("angel",80);
如果远程服务器angel不存在,会出现什么情况?
(单选)
•选项:
A
–a)构造方法抛出UnknownHostException异常。
–b)客户端一直等待连接,直到连接超时,从而抛出SocketTimeoutException。
–c)抛出BindException。
–d)构造方法返回一个Socket对象,但它不与任何服务器连接。
练习题3
•问题:
Socket类的哪个方法返回Socket对象绑定的本地端口?
(单选)
•选项:
B
–a)getPort()
–b)getLocalPort()
–c)getRemotePort()
–d)不存在这样的方法,因为Socket对象绑定的本地端口对程序是透明的。
练习题4
•问题:
以下两段程序代码是否等价?
(单选)
//第一段程序
socket.shutdownInput();
socket.shutdownOutput();
//第二段程序
socket.close();
•选项:
B
–a)等价
–b)不等价
练习题5
•问题:
以下哪个选项设定Socket的接收数据时的等待超时时间?
(单选)
•选项:
D
–a)SO_LINGER
–b)SO_RCVBUF
–c)SO_KEEPALIVE
–d)SO_TIMEOUT
练习题6
•问题:
如何判断一个Socket对象当前是否处于连接状态?
(单选)
•选项:
B
–a)booleanisConnected=socket.isConnected()&&socket.isBound();
–b)booleanisConnected=socket.isConnected()&&!
socket.isClosed();
–c)booleanisConnected=socket.isConnected()&&!
socket.isBound();
–d)booleanisConnected=socket.isConnected();
练习题7
•问题:
客户程序希望底层网络的IP层提供高可靠性和最小延迟传输服务,客户程序中应该如何提出这一请求?
(单选)
•选项:
C
–a)调用Socket的setPerformancePreferences()方法。
–b)设置Socket的SO_SERVICE选项。
–c)调用Socket的setTrafficClass()方法。
–d)客户程序无法提出这种请求,必须直接配置底层网络。
三
练习题1
•问题:
关于ServerSocket构造方法的backlog参数,以下哪些说法是正确的?
(多选)
•选项:
ABDF
–a)backlog参数用来显式设置操作系统中的连接请求队列的长度。
–b)如果没有设置backlog参数,那么连接请求队列的长度由操作系统决定。
–c)当服务器端的连接请求队列已满,客户端就无法建立与服务器的连接。
–d)如果backlog参数的值大于操作系统限定的队列的最大长度,那么backlog参数被忽略。
–e)连接请求队列直接由ServerSocket创建并管理。
–f)ServerSocket的accept()方法从连接请求队列中取出连接请求。
练习题2
•问题:
对于以下程序代码:
ServerSocketserverSocket=newServerSocket(8000);
serverSocket.setReuseAddress(true);
哪个说法是正确的?
(单选)
•选项:
C
–a)以上代码运行时出错
–b)以上代码编译时出错
–c)以上代码尽管编译和运行不会出错,但对SO_REUSEADDR选项的设置无效
–d)以上说法都不正确
练习题3
•问题:
如何判断一个ServerSocket已经与特定端口绑定,并且还没有被关闭?
(单选)
•选项:
B
–a)booleanisOpen=serverSocket.isBound();
–b)booleanisOpen=serverSocket.isBound()&&!
serverSocket.isClosed();
–c)booleanisOpen=serverSocket.isBound()&&serverSocket.isConnected();
–d)booleanisOpen=!
serverSocket.isClosed();
练习题4
•问题:
ServerSocket与Socket都有一个SO_TIMEOUT选项,它们的作用是否相同?
•选项:
B
–a)相同
–b)不同
四
练习题1
•问题:
在服务器程序中,线程在哪些情况可能会进入阻塞状态?
•选项:
CDE
–a)线程执行Socket的getInputStream()方法获得输入流。
–b)线程执行Socket的getOutputStream()方法获得输出流。
–c)线程执行ServerSocket的accept()方法。
–d)线程从Socket的输入流读入数据。
–e)线程向Socket的输出流写一批数据。
练习题2
•问题:
ServerSocketChannel可能发生哪些事件?
•选项:
A
–a)SelectionKey.OP_ACCEPT:
接收连接就绪事件
–b)SelectionKey.OP_CONNECT:
连接就绪事件。
–c)SelectionKey.OP_READ:
读就绪事件。
–d)SelectionKey.OP_WRITE:
写就绪事件。
练习题3
•问题:
SocketChannel可能发生哪些事件?
•选项:
BCD
–a)SelectionKey.OP_ACCEPT:
接收连接就绪事件
–b)SelectionKey.OP_CONNECT:
连接就绪事件。
–c)SelectionKey.OP_READ:
读就绪事件。
–d)SelectionKey.OP_WRITE:
写就绪事件。
练习题4
•问题:
对于以下代码:
intn=socketChannel.read(byteBuffer);//假定n>=0
byteBuffer.flip();
假定执行socketChannel.read(byteBuffer)方法前,byteBuffer的
容量、极限和位置分别为c、l和p,执行完以上代码后,byteBuffer
的容量、极限和位置分别是多少?
•选项:
B
–a)容量为c,极限为l,位置为p+n
–b)容量为c,极限为p+n,位置为0
–c)容量为l,极限为p+n,位置为0
–d)容量为c,极限为p+n,位置为p+n
练习题5
•问题:
在哪些情况,SelectionKey对象会失效?
•选项:
ACD
–a)程序调用SelectionKey的cancel()方法。
–b)程序调用SelectionKey的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网络 编程 技术 复习题 java 习题