第十七章网络一、判断题1.已建立的URL对象不能被改变。(t)2.UDP是面向连接的协议。(F)3.进程利用socket建立与其他进程的连接。(T)4.服务器在一个端口等待客户的连接。(T)5.数据报传输是可靠的,包按顺序先后达到。(F)6.Java的大部分网络类都包含在Java.applet包中。(F)7.构成WorldWideWeb基础的关键协议是http协议。(T)8.URL是统一资源定位器的缩写。(T)二、选择题1.如果在关闭socket时发生一个I/O错误,会抛出▁a▁。A.IOExceptionB.UnknownHostExceptionC.SocketExceptionD.MalformedURLExceptin2.当找不到客户的服务器地址时会抛出▁b▁。A.IOExceptionB.UnknownHostExceptionC.SocketExceptionD.MalformedURLExceptin3.如果DatagramSocket构造函数不能正确地创建一个DatagramSocket,会抛出▁c▁。A.IOExceptionB.UnknownHostExceptionC.SocketExceptionD.MalformedURLExceptin4.URL构成函数将决定作为参数的字符串是否是合法的统一资源定位器。如果合法,则初始化包含统一资源定位器的URL对象,否则将产生▁d▁。A.IOExceptionB.UnknownHostExceptionC.SocketExceptionD.MalformedURLExceptin5.使用▁b▁类建立一个socket,用于不可靠的数据报的传输。A.AppletB.DatagramsocketC.InetAddressD.AppletContext6.▁c▁类的对象中包含有Internet地址。A.AppletB.DatagramsocketC.InetAddressD.AppletContext7.InetAddress类的getLocalHost方法返回一个▁c▁对象,它包含了运行该程序的计算机的主机名。A.AppletB.DatagramsocketC.InetAddressD.AppletContext8.下面▁cd▁类能够支持TCP/IP连接。A.InetAddressB.PacketC.SocketD.ServerSocket9.▁b▁对象管理基于流的连接。A.ServeSockerB.SocketC.VectorD.DatagramSocket三、简述题1.URL对象有何作用?其中包含那4部分数据?URLConnection类与URL类有何异同?功能上有那些增强?2.Java提供了流socket和数据报socket,流socket起到什么作用?数据报socket起到什么作用?3.用一个Java建立一个简单的服务器需要几个步骤?四、程序设计题1.编写图形界面的Application程序,Server端和Client端各包含一个TextField和TextArea。请完成消息互发,在TextField中按下Enter键后消息被发送到对方的TextArea中。(参考课成中所讲的例子)2.编写一个数据报通信程序,一端发送一个int型数据10000,另一端接收到发送的数据并将它打印在屏幕上。importjava.io.*;importjava.applet.*;importjava.awt.*;importjava.awt.event.*;importjava.net.*;publicclassajayextendsAppletimplementsActionListener{publicstaticvoidmain(stringargs[]){TextFieldt1;TextAreata1;Buttonb1;DatagramSocketd;privateStrings1;}}publicvoidinit(){neethil=newneethi();l.start();try{d=newDatagramSocket(666);}cath(Exceptione){}SetLayout(newFlowLayout());ta1=newTextArea(,10,10);add(ta1);t1.addActionListener(this);}publicvoidactionPerformed(ActionEventevent){inti;if(event.getSoure()==t1){try{byteb[]=newbyte[1024];s1=t1.getText();t1.setText();for(i=0;is1.length();i++)b[i]=(byte)s1.charAt(i);d.send(newDatagramPacket(b,i,InetAddress.getByName(JC0118),999));}catch(Exceptione){}}classneethiextendsThread{publicvoidrun(){intc,j=0;try{byteb[]=newbyte[1024];DatagramSocketd=newDatagramSocket(999);while(true){DatagramPacketp=newDatagramPacket(b,1024);d.receive(p);ta1.append(newString(p.getData(),0,0,p.getLength()));ta1.append('\n'+);}}catch(Exceptiony){}}}}