驰咸恭态吹挫尚烹聘檬焦季汉
01 概述 第1章 概述 单元测验
1、 以下哪些类是基于TCP协议的?
答案: Socket;
ServerSocket
2、 语句BufferedReader in = new BufferedReader( new InputStreamReader( clientSocket.getInputStream())),从网络读入的是:
答案: in收到的是字符数据;
getInputStream()返回的是字节数据
3、 对于ServerSocket与Socket,描述正确的是:
答案: ServerSocket只能侦听连接,不能收发数据;
Socket只能收发数据,不能侦听连接;
服务器端既需要ServerSocket,也需要Socket
4、 关于Java线程,以下描述正确的是:
答案: 线程执行start( )方法后转入线程启动完成状态。;
当获得CPU使用权进入run( )方法时,转入线程正在运行状态。;
如果在run( )方法结束之前,遇到wait()方法、sleep()方法、join()方法时,会转入线程休止阻塞状态。;
线程死亡状态即结束状态,线程任务结束或异常退出,线程死亡。
5、 以下步骤属于客户机的通信逻辑的是:
答案: 客户机需要创建一个会话套接字;
若果是TCP协议通信,客户机连接服务器,访问服务器指定的地址和端口,用connect()方法。;
通信过程结束,客户机需要关闭输入流、输出流和套接字。
6、 以下步骤属于服务器通信逻辑的是:
答案: 若果是基于TCP协议,服务器需要处于侦听连接状态,通过ServerSocket类绑定服务器的工作地址和端口;
若果是基于TCP协议,服务器需要处理客户机连接。用accept( )函数接受客户机连接;
服务器接受客户机连接后,服务器端会创建一个会话套接字,会话开始
7、 简单的说,网络编程是编写能在网络上运行、实现网络服务的程序,网络程序通常分为客户端与服务器端两部分内容。
答案: 正确
8、 浏览器、搜索引擎、在线支付模块是网络程序
答案: 正确
9、 QQ、MSN、Twitter、阿里旺旺是网络程序,但是浏览器不是网络程序。
答案: 错误
10、 迅雷、快车、电驴、百度云管家、CuteFTP是网络程序
答案: 正确
11、 程序从数据源读取数据,再将数据传送到目的地,实现了数据的流动,其中数据从数据源流动到程序,称之输入流;从程序流动到目的地,称为输出流。
答案: 正确
12、 字符流的数据形态是字符。字节流是二进制的,可以面向字符数据的读写,也可以是其他数据类型。
答案: 正确
13、 使用复合流是为了提高数据存取效率或者为了提高编程效率。
答案: 正确
14、 Java基本I/O是阻塞的,当线程执行到read()或write()时,该线程被阻塞,直到有数据可读或数据写入结束,线程在此期间不能向下执行其他任务。
答案: 正确
15、 Java的NIO是非阻塞模式,当线程从某通道读取数据时,如果没有数据可用,则立即返回,此时线程可以继续执行其他任务。非阻塞写数据也是如此,线程在写入数据到通道期间,可以同时去做别的事情。
答案: 正确
16、 Socket是一种网络通信接口,可以实现对TCP和UDP服务的调用。
答案: 正确
17、 UDP协议不是面向连接的传输协议,不能保证数据按照顺序到达,无重传机制,会丢包、收到重复包、乱序等,所以在数据可靠性要求很高的场合,一般采用TCP协议。
答案: 正确
18、 线程是操作系统能够运算调度的最小单位,一个进程可以有多个线程,线程可以并发运行。以Windows系统为例,Windows的多任务调度策略是面向线程的,而不是面向进程的,而且线程是全局调度的。
答案: 正确
19、 侦听套接字ServerSocket与Socket这两类套接字的区别是:前者只能用于侦听和建立连接,不能交换数据;后者则专用于数据交换,实现基于套接字的输入输出流。
答案: 正确
02 一客户一线程 第2章 单元测验
1、 基于TCP的通信,服务器给客户机回复消息,回复地址与端口是何时确定的:
答案: 服务器成功接受客户机连接时
2、 执行clientThread.start()语句后,描述正确的是:
答案: 线程clientThread是否立即执行,由是否获得CPU时间片决定
3、 语句out=new PrintWriter(new OutputStreamWriter(clientSocket.getOutputStream(),”UTF-8″),true)中的参数true表示:
答案: 输出流会立即发送消息
4、 对事件响应函数private void formWindowClosing(java.awt.event.WindowEvent evt)描述正确的是:
答案: 窗口关闭之前执行,可用于释放资源
5、 if (toClientSocket!=null) toClientSocket.close(),描述正确的是:
答案: close()方法销毁套接字,释放资源
6、 修改本章的服务器设计,将服务器监控面板中的消息保存到一个文件中,以下思路,拖累服务器性能最严重的是:
答案: 每收到一条消息,即写入文件保存
7、 对语句in=new BufferedReader(new InputStreamReader(toClientSocket.getInputStream(),”UTF-8″))描述正确的是:
答案: InputStreamReader()返回的UTF-8字符流
8、 关于Runnable接口与Thread类,以下说法正确的是:
答案: Runnable接口只有一个run()方法;
run()方法没有参数;
run()方法没有返回值;
Thread类是一个抽象类,需要重写其run()方法
9、 clientSocket=new Socket(); clientSocket.connect(remoteAddr);对于上述两个语句的执行逻辑,描述正确的是:
答案: 客户机的通信地址与端口是随机选择的;
服务器的通信地址与端口在remoteAddr变量中;
connect方法完成的是TCP握手过程
10、 listenSocket=new ServerSocket(); listenSocket.bind(serverAddr); 对于上述两个语句的执行逻辑,描述正确的是:
答案: listenSocket不能用于数据交换,只能处理连接信息;
可以在ServerSocket类的构造函数中指定地址和端口,省略bind()方法
11、 服务器端的toClientSocket=listenSocket.accept()语句需要放在一个无限循环里面的原因是:
答案: 保障服务器一直在线,做到有求(连接请求)必应;
不知道客户机连接何时到达,不知道有多少客户机连接到达
12、 服务器的会话线程中用while((recvStr=in.readLine())!=null)作为循环条件,目的是:
答案: 可以保持服务器会话线程与远程客户机的会话持续到客户机断开连接为止;
一次读取一行信息,循环读取;
readLine()是一个阻塞方法,如果客户机断开连接,则会收到null消息
13、 toClientSocket=listenSocket.accept()语句的执行逻辑,描述正确的是:
答案: 当有新连接到达时,accept()方法会创建新的套接字;
toClientSocket这个变量只能保留最新连接建立的套接字,覆盖上一次连接建立的套接字;
accept()方法是一个阻塞方法,没有客户机请求到达时,程序会阻塞在这个语句上
14、 Thread clientThread=new ClientThread(toClientSocket,clientCounts)语句中向客户线程传递toClientSocket(toClientSocket是连接建立时创建的套接字)这个参数的目的是:
答案: 传递给会话线程,实现服务器与客户机的一对一会话;
toClientSocket中包含客户机的地址与端口;
服务器与客户机的数据交换,需要通过toClientSocket套接字进行
15、 对于SocketAddress remoteAddr=new InetSocketAddress(InetAddress.getByName(remoteName),remotePort)语句,描述正确的是:
答案: 将通信地址和端口封装为Socket格式的地址;
InetAddress.getByName()函数可做域名解析;
SocketAddress是一个抽象类,InetSocketAddress是其子类;
参数remotePort是整数类型
16、 客户机与服务器通信,只需要服务器地址,不需要服务器端口
答案: 错误
17、 一客户一线程,对服务器的硬件计算资源有较高需求,在问题规模可控的内部网可行,在互联网模式下风险不可控
答案: 正确
18、 多客户机并发连接服务器成功后,服务器端开启的一对一会话线程之间相对独立,没有直接联系
答案: 正确
19、 客户机断开连接后,服务器端的会话线程不会自动释放
答案: 错误
20、 服务器能够运行的线程数量根据程序需要决定,不需要考虑CPU和内存等硬件资源
答案: 错误
21、 连接线程中用while(true)循环目的是让服务器7×24小时不间断为客户机服务
答案: 正确
22、 Windows系统中有一些用于查看网络参数的命令,例如ipconfig/all命令,可以查看本机的网络参数配置。包括IP地址、子网掩码、网关、DHCP、DNS以及MAC地址等。
答案: 正确
23、 一客户一线程,一旦客户机与服务器之间建立会话关系,其连接关系会自动断开,依靠会话套接字完成数据的交换工作
答案: 错误
上方为免费预览版答案,如需购买完整答案,请点击下方红字
点关注,不迷路,微信扫一扫下方二维码
关注我们的公众号:阿布查查 随时查看答案,网课轻松过
为了方便下次阅读,建议在浏览器添加书签收藏本网页
电脑浏览器添加/查看书签方法
1.按键盘的ctrl键+D键,收藏本页面
2.下次如何查看收藏的网页?
点击浏览器右上角-【工具】或者【收藏夹】查看收藏的网页
手机浏览器添加/查看书签方法
一、百度APP添加/查看书签方法
1.点击底部五角星收藏本网页
2.下次如何查看收藏的网页?
点击右上角【┇】-再点击【收藏中心】查看
二、其他手机浏览器添加/查看书签方法
1.点击【设置】-【添加书签】收藏本网页
2.下次如何查看收藏的网页?
点击【设置】-【书签/历史】查看收藏的网页
拣鸵盲鼓绵挟厕骗蔑佃亨康唇