1、第十七章 网络一、判断题1.已建立的 URL 对象不能被改变。 (t)2.UDP 是面向连接的协议。 (F )3.进程利用 socket 建立与其他进程的连接。 (T )4.服务器在一个端口等待客户的连接。 ( T)5.数据报传输是可靠的,包按顺序先后达到。 (F )6.Java 的大部分网络类都包含在 Java .applet 包中。 ( F)7.构成 World Wide Web 基础的关键协议是 http 协议。 ( T)8.URL 是统一资源定位器的缩写。 (T ) 二、选择题1.如果在关闭 socket 时发生一个 I/O 错误,会抛出a。 AIOExceptionBUnknownH
2、ostExceptionCSocketExceptionDMalformedURLExceptin2.当找不到客户的服务器地址时会抛出b。AIOExceptionBUnknownHostExceptionCSocketExceptionDMalformedURLExceptin3.如果 DatagramSocket 构造函数不能正确地创建一个 DatagramSocket,会抛出c 。AIOExceptionBUnknownHostExceptionCSocketExceptionDMalformedURLExceptin4.URL 构成函数将决定作为参数的字符串是否是合法的统一资源定位器。如
3、果合法,则初始化包含统一资源定位器的 URL 对象,否则将产生d。AIOExceptionBUnknownHostExceptionCSocketExceptionDMalformedURLExceptin5.使用b类建立一个 socket,用于不可靠的数据报的传输。AAppletBDatagramsocketCInetAddressDAppletContext6.c类的对象中包含有 Internet 地址。AAppletBDatagramsocketCInetAddressDAppletContext7.InetAddress 类的 getLocalHost 方法返回一个c对象,它包含了运行
4、该程序的计算机的主机名。AAppletBDatagramsocketCInetAddressDAppletContext8.下面cd类能够支持 TCP/IP 连接。AInetAddressBPacketCSocketDServerSocket9.b对象管理基于流的连接。AServeSockerBSocketCVectorDDatagramSocket三、简述题1.URL 对象有何作用?其中包含那 4 部分数据?URLConnection 类与 URL 类有何异同?功能上有那些增强?2.Java 提供了流 socket 和数据报 socket,流 socket 起到什么作用?数据报 socket
5、 起到什么作用?3.用一个 Java 建立一个简单的服务器需要几个步骤?四、程序设计题1.编写图形界面的 Application 程序,Server 端和 Client 端各包含一个 TextField 和TextArea。请完成消息互发,在 TextField 中按下 Enter 键后消息被发送到对方的 TextArea中。 (参考课成中所讲的例子)2.编写一个数据报通信程序,一端发送一个 int 型数据 10000,另一端接收到发送的数据并将它打印在屏幕上。import java.io.*;import java.applet.*;import java.awt.*;import java
6、.awt.event.*;import .*;public class ajay extends Applet implements ActionListenerpublic static void main(string args)TextField t1;TextArea ta1;Button b1;DatagramSocket d;private String s1;public void init()neethi l=new neethi();l.start();tryd=new DatagramSocket(666);cath(Exception e)SetLayout(new Fl
7、owLayout();ta1=new TextArea(“,10,10);add(ta1);t1.addActionListener(this);public void actionPerformed(ActionEvent event)int i;if(event.getSoure()=t1)trybyte b=new byte1024;s1=t1.getText();t1.setText(“);for(i=0;is1.length();i+)bi=(byte)s1.charAt(i);d.send(new DatagramPacket(b,i,InetAddress.getByName(“
8、JC0118“),999);catch(Exception e)class neethi extends Threadpublic void run()int c,j=0;trybyte b=new byte1024;DatagramSocket d=new DatagramSocket(999);while(true)DatagramPacket p=new DatagramPacket(b,1024);d.receive(p);ta1.append(new String(p.getData(),0,0,p.getLength();ta1.append(n+“ “);catch(Exception y)