您好,欢迎访问三七文档
1、socket通讯,TCP,UDP,HTTP区别TCP面向连接的可靠传输协议,具有数据确认和数据重传机制.保证了发送数据一定能到达通信的对方.对数据完整性要求比较高的场合使用UPD协议无连接,不可靠的传输协议.不具有数据确认和数据重传机制,对数据完整性要求比较低的场合使用HTTP协议:超文本传输协议是用于从服务器传输超文本到本地浏览器的传送协议。它可以使浏览器更加高效,使网络传输减少2、在J2EE中,为了使得在客户端可以接收用户在控制台上的键盘输入,且把键盘输入发送到服务器,同时还要接收服务器给客户端的反馈,需要构造三个用于输入输出的对象变量,以下代码符合要求的是()(其中clientSocket是一个Socket类的对象)。(B)a)BufferedReadbr1=System.in;BufferedReadbr2=newBufferedReader(clientSocket.getInpputStream());PrintStreamps=newPrintStream(clientSocket.getOutputStream());b)BufferedReaderbr1=newBufferedReader(newInputStreamReader(System.in));BufferedReaderbr2=newBufferedReader(newInputStreamReader(clientSocket.getInputStream()));PrintStreamps=newPrintStream(clientSocket.getOutputStream());c)BufferedReaderbr1=newInputStreamReader(System.in);BufferedReaderbr2=newInputStreamReader(clientSocket.getInputStream());PrintStreamps=newPrintStream(clientSocket.getOutputStream());d)BufferedReaderbr1=newBufferedReader(newInputStreamReader(System.in));BufferedReaderbr2=newBufferedReader(newInputStreamReader(clientSocket.getInputStream()));PrintStreamps=clientSocket.getOutputStream();3、在J2EE中,在提供名为sock的套接字例的前提下,为了获得通过套接字进行通信的输出流,你可以编写(C)A)sock.accept();B)sock.getDataOutputStream();C)sock.getOutputStream();D)newDataOutputStream();4、请你分别划划OSI的七层网络结构图,和TCP/IP的五层结构图?物理层:为数据链路层提供物理连接,在其上串行传送比特流,即所传送数据的单位是比特。此外,该层中还具有确定连接设备的电气特性和物理特性等功能。数据链路层:负责在网络节点间的线路上通过检测、流量控制和重发等手段,无差错地传送以帧为单位的数据。为做到这一点,在每一帧中必须同时带有同步、地址、差错控制及流量控制等控制信息。网络层:为了将数据分组从源(源端系统)送到目的地(目标端系统),网络层的任务就是选择合适的路由和交换节点,使源的传输层传下来的分组信息能够正确无误地按照地址找到目的地,并交付给相应的传输层,即完成网络的寻址功能。传输层:传输层是高低层之间衔接的接口层。数据传输的单位是报文,当报文较长时将它分割成若干分组,然后交给网络层进行传输。传输层是计算机网络协议分层中的最关键一层,该层以上各层将不再管理信息传输问题。会话层:该层对传输的报文提供同步管理服务。在两个不同系统的互相通信的应用进程之间建立、组织和协调交互。例如,确定是双工还是半双工工作。表示层:该层的主要任务是把所传送的数据的抽象语法变换为传送语法,即把不同计算机内部的不同表示形式转换成网络通信中的标准表示形式。此外,对传送的数据加密(或解密)、正文压缩(或还原)也是表示层的任务。应用层:该层直接面向用户,是OSI中的最高层。它的主要任务是为用户提供应用的接口,即提供不同计算机间的文件传送、访问与管理,电子邮件的内容处理,不同计算机通过网络交互访问的虚拟终端功能等。TCP/IP的结构图:网络接口层:这是TCP/IP协议的最低一层,包括有多种逻辑链路控制和媒体访问协议。网络接口层的功能是接收IP数据报并通过特定的网络进行传输,或从网络上接收物理帧,抽取出IP数据报并转交给网际层。网际网层(IP层):该层包括以下协议:IP(网际协议)、ICMP(InternetControlMessageProtocol,因特网控制报文协议)、ARP(AddressResolutionProtocol,地址解析协议)、RARP(ReverseAddressResolutionProtocol,反向地址解析协议)。该层负责相同或不同网络中计算机之间的通信,主要处理数据报和路由。在IP层中,ARP协议用于将IP地址转换成物理地址,RARP协议用于将物理地址转换成IP地址,ICMP协议用于报告差错和传送控制信息。IP协议在TCP/IP协议组中处于核心地位。传输层:该层提供TCP(传输控制协议)和UDP(UserDatagramProtocol,用户数据报协议)两个协议,它们都建立在IP协议的基础上,其中TCP提供可靠的面向连接服务,UDP提供简单的无连接服务。传输层提供端到端,即应用程序之间的通信,主要功能是数据格式化、数据确认和丢失重传等。应用层:TCP/IP协议的应用层相当于OSI模型的会话层、表示层和应用层,它向用户提供一组常用的应用层协议,其中包括:Telnet、SMTP、DNS等。此外,在应用层中还包含有用户应用程序,它们均是建立在TCP/IP协议组之上的专用程序。4、请你详细的解释一下IP协议的定义,在哪个层上面,主要有什么作用?TCP与UDP呢IP(“网络之间互连的协议”)是为计算机网络相互连接进行通信而设计的协议。IP在网络层,网络层负责对子网间的数据包进行路由选择。此外,网络层还可以实现拥塞控制、网际互连等功能。在这一层,数据的单位称为数据包(packet)。UDP,TCP在传输层,传输层是第一个端到端,即主机到主机的层次。传输层负责将上层数据分段并提供端到端的、可靠的或不可靠的传输。此外,传输层还要处理端到端的差错控制和流量控制问题。在这一层,数据的单位称为数据段(segment)。传输层协议的代表包括:TCP、UDP、SPX等。5、编写了一个服务器端的程序实现在客户端输入字符然后在控制台上显示,直到输入END为止,让你写出客户端的程序服务端publicclassTest{publicstaticvoidmain(Stringargs[])throwsException{System.out.println(我是服务器端);//建立一个Socket,端口为8080ServerSocketss=newServerSocket(8080);Sockets=ss.accept();//等待客户端连接(阻塞)InputStreamis=s.getInputStream();//得到输入流InputStreamReaderisr=newInputStreamReader(is);//输入字节流BufferedReaderbr=newBufferedReader(isr);//输入字符流OutputStreamos=s.getOutputStream();//得到输出流PrintStreamps=newPrintStream(os,true);//输出字符流Stringstrline=null;while(true){strline=br.readLine();System.out.println(Fromclient:+strline);ps.println(strline);//向客户端发送信息if(strline.equals(END)){ss.close();break;}}}}客户端PublicclassClientextendsThread(){Sockets;Thread(Sockets){This.s=s;}Publicvoidrun(){Try{InputStreamis=s.getInputStream();OutputStreamos=s.getOutputStream();Byteb[]=newByte[2048];Is.read(b);System.out.println(“客户端信息”+newString(b));Os.write(“您好”.getBytes());s.close();}catch(Exceptione){e.printStackTrace();}}}
本文标题:网络编程试题
链接地址:https://www.777doc.com/doc-2072358 .html