(1) 编译和运行本章中的JabberServer和JabberClient程序。接着编辑一下程序,删去为输入和输出设计的所有缓冲机制,然后再次编译和运行,观察一下结果。
(2) 创建一个服务器,用它请求用户输入密码,然后打开一个文件,并将文件通过网络连接传送出去。创建一个同该服务器连接的客户,为其分配适当的密码,然后捕获和保存文件。在自己的机器上用localhost(通过调用InetAddress.getByName(null)生成本地IP地址127.0.0.1)测试这两个程序。
(3) 修改练习2中的程序,令其用多线程机制对多个客户进行控制。
(4) 修改JabberClient,禁止输出刷新,并观察结果。
(5) 以ShowHTML.java为基础,创建一个程序片,令其成为对自己Web站点的特定部分进行密码保护的大门。
(6) (可能有些难度)创建一对客户/服务器程序,利用数据报(Datagram)将一个文件从一台机器传到另一台(参见本章数据报小节末尾的叙述)。
(7) (可能有些难度)对VLookup.java程序作一番修改,使我们能点击得到的结果名字,然后程序会自动取得那个名字,并把它复制到剪贴板(以便我们方便地粘贴到自己的E-mail)。可能要回过头去研究一下IO数据流的那一章,回忆该如何使用Java 1.1剪贴板。