网络编程技术复习题1java习题.doc_第1页
网络编程技术复习题1java习题.doc_第2页
网络编程技术复习题1java习题.doc_第3页
网络编程技术复习题1java习题.doc_第4页
网络编程技术复习题1java习题.doc_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一练习题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 问题:.一个客户进程执行以下代码Socket socket1=new Socket(host,port);Socket socket2=new Socket(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 问题:一个服务器进程执行以下代码:ServerSocket serverSocket=new ServerSocket(80);Socket socket=serverSocket.accept();int port=socket.getPort();以下哪些说法正确?(多选) 选项:ACD a) 服务器进程占用80端口。 b) socket.getPort()方法返回服务器进程占用的本地端口,此处返回值是80。 c) 当serverSocket.accept()方法成功返回,就表明服务器进程接收到了一个客户连接请求。 d) socket.getPort()方法返回客户端套节字占用的本地端口。二练习题1 问题:对于以下程序代码:Socket socket=new Socket(); /第1行SocketAddress remoteAddr1=new InetSocketAddress(localhost,8000); /第2行SocketAddress remoteAddr2=new InetSocketAddress(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 问题: 当客户端执行以下程序代码时:Socket socket=new Socket(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) boolean isConnected=socket.isConnected() & socket.isBound(); b) boolean isConnected=socket.isConnected() & !socket.isClosed(); c) boolean isConnected=socket.isConnected() & !socket.isBound(); d) boolean isConnected=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 问题:对于以下程序代码:ServerSocket serverSocket=new ServerSocket(8000);serverSocket.setReuseAddress(true); 哪个说法是正确的?(单选) 选项:C a)以上代码运行时出错 b)以上代码编译时出错 c)以上代码尽管编译和运行不会出错,但对SO_REUSEADDR选项的设置无效 d)以上说法都不正确练习题3 问题:如何判断一个ServerSocket已经与特定端口绑定,并且还没有被关闭? (单选) 选项:B a) boolean isOpen=serverSocket.isBound(); b)boolean isOpen=serverSocket.isBound() & !serverSocket.isClosed(); c) boolean isOpen=serverSocket.isBound() & serverSocket.isConnected(); d) boolean isOpen=!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 问题:对于以下代码:int n=socketChannel.read(byteBuffer); /假定n=0byteBuffer.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的close()方法。 c) 关闭与SelectionKey关联的Channel。 d) 与SelectionKey关联的Selector被关闭。练习题6 问题:线程执行Selector对象的select(long timeout)方法时进入阻塞状态,在哪些情况,线程会从select()方法中返回? 选项:ABDE a) 至少有一个SelectionKey的相关事件已经发生。 b) 其他线程调用了Selector对象的wakeup()方法。 c) 与Selector对象关联的一个SocketChannel对象被关闭。 d) 当前执行select()方法的线程被其他线程中断。 e) 超出了等待时间。练习题7 问题:默认情况下,SocketChannel对象处于什么模式? 选项:A a)阻塞模式 b)非阻塞模式五练习题1 问题: 在HTTP响应结果中,哪个状态代码表示响应成功? 选项:D a)404 b)405 c)500 d)200练习题2 问题:对于HTTP的POST请求方式,用户提交的表单数据位于HTTP请求的哪一部分? 选项:B a) 请求头中 b)请求正文中练习题3 问题:对于HTTP的GET请求方式,用户提交的表单数据位于HTTP请求的哪一部分? 选项:A a) 请求头中 b)请求正文中练习题4 问题:HTTP请求中的请求头与请求正文之间必须以空行隔开,同样,HTTP响应中的响应头与响应正文之间也必须以空行隔开。这句话是否正确? 选项:A a)正确 b)不正确六练习题1 问题:ContentHandler实例由谁创建? 选项:D a) URL类 b) URLConnection c) URLStreamHandler d) ContentHandlerFactory练习题2 问题: URLConnection类的doInput属性和doOutput属性的默认值分别是什么? 选项:B a)true,true b)true,false c)false,false d)false,true练习题3 问题:URLConnection的getContent()方法会调用哪个类的getContent()方法? 选项:C a) URL类 b) URLStreamHandler类 c) ContentHandler类 d) 不会再调用其他类的getContent()方法练习题4 问题:setURLStreamHandlerFactory()方法是在哪个类中定义的? 选项:A a) URL类 b) URLStreamHandler类 c) ContentHandler类 d) URLConnection类练习题5 问题:以下哪些类具有相应的工厂类? 选项:BC a) URL类 b) URLStreamHandler类 c) ContentHandler类 d) URLConnection类七练习题1 问题:对于以下程序代码:String text=Hello World!;JEditorPane jep=new JEditorPane();jep.setText(text);下面哪些说法正确? 选项:BD a) 在JEditorPane的界面上显示斜体的“Hello World!” b) 在JEditorPane的界面上显示普通文本“Hello World!” c) 默认情况下,JEditorPane的内容类型为text/html d) 默认情况下,JEditorPane的内容类型为text/plain练习题2 问题:当用户浏览由JEditorPane展示的网页,以下哪些行为会触发HyperlinkEvent事件? 选项:AC a) 用户选择超级链接 b) 用户把鼠标移动到网页区域的任何位置 c) 用户提交表单 d) 用户在网页区域内点击鼠标的右键练习题3 问题: hyperlinkUpdate()方法在哪个类中定义? 选项:D a) JEditorPane b) HyperlinkEvent c) FormSubmitEvent d) HyperlinkListener八练习题1 问题:以下哪些叙述是正确的? 选项:BC a) DatagramSocket的send(DatagramPacket src)方法发送数据报时,如果无法送达接收方,该方法会抛出IOException。 b) UDP协议是无连接的协议。 c) 对于用于接收数据的DatagramPacket,如果实际接收到的数据报的长度大于DatagramPacket的长度,那么多余的数据就会被丢弃。 d) DatagramSocket的getInputStream()方法用于获得输入流。练习题2 问题:以下是DatagramPacket的构造方法,哪些用于发送数据报? 选项:CD a)public DatagramPacket(byte data,int length) b)public DatagramPacket(byte data,int offset, int length) c)public DatagramPacket(byte data,int offset, int length,InetAddress address,int port) d)public DatagramPacket(byte data,int offset,int length,SocketAddress address)练习题3 问题:当DatagramSocket接收到了来自任意一个主机的数据报,如果知道该数据报的发送者的UDP端口? 选项:A a) 调用DatagramPacket的getPort()方法 b) 调用DatagramSocket的getPort()方法 c) 调用DatagramPacket的getRemotePort()方法 d) 调用DatagramSocket的getRemotePort()方法练习题4 问题:关于DatagramSocket的connect()和disconnect()方法,下面哪些说法是正确? 选项:AC a) connect()方法使得DatagramSocket暂时只能与特定的远程DatagramSocket通信。 b) DatagramSocket的connect()方法与Socket的connect()方法的作用相同。 c) 可以对一

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论