public class Server { public static void main(String[] args) throws Exception{ ServerSocket server = new ServerSocket(888); ———————————— InputStreamReader reader = new InputStreamReader(socket.getInputStream()); BufferedReader buffer_reader=new BufferedReader(reader); PrintWriter writer=new PrintWriter(socket.getOutputStream()); String request = buffer_reader.readLine(); System.out.println(\ String line=\ writer.println(line); writer.flush(); writer.close(); buffer_reader.close(); 服务端 ———————— server.close(); } } 三、根据下面要求编写程序
1. 请分别采用TCP、UDP协议编程实现一对一的文件上传。
2. 编写一对多的聊天程序,程序由服务器和客户端两部分构成,两部分的
交互方式如下:
17
a. 客户端发送命令:
b. 客户端发送命令:
c. 客户端发送命令:
d. 服务器向指定客户端发送命令:
e. 客户端发送命令:
程序可以采用GUI,也可采用命令行的方式。
四、实验结果
写实验报告。内容包括:
1、习题的运行结果,源程序。 2、程序调试中出现的错误提示。(英文、中文对照) 3、若有没通过的程序,分析原因。
五、选做习题
(1)请分别采用TCP、UDP协议编程实现一对多的文件上传。
(2)请编写程序把页面:http://www.w3.org/Consortium/Member/List中的 “Current Members”的名称抽取出来,存入文本文件中。(也可以下载任意指定页面,并抽取相关的内容)
18
(3)模仿QQ,设计实现一个聊天工具。
一、实验目的
1、理解线程概念和定义。
实验6 多线程
19
2、掌握创建、管理和控制Java线程对象的方法,包括创建Java 线程对象、 改 变线程状态、设置线程优先级以控制线程调度等方法。
3、了解并执行的多线程间存在的各种不同关系,掌握实现线程互斥和线程同步的方法。
二、实验内容
1、程序验证
(1)输入以下程序,观察输出结果。
class MyThread extends Thread{ public int x = 0; public void run(){ System.out.println(++x); } } class R implements Runnable{ private int x = 0; public void run(){ System.out.println(++x); } } public class Test { public static void main(String[] args) throws Exception{ for(int i=0;i<10;i++){ Thread t = new MyThread(); t.start(); } Thread.sleep(10000); R r = new R(); for(int i=0;i<10;i++){ Thread t = new Thread(r); t.start(); } } }
(2)输入如下程序,观察输出结果。
ublic class ThreadDemo { (3) public static void main(String[] args) { Thread t = new TestThread(); // t.setDaemon(true); t.start(); 20 int i=0; while(true) { System.out.println(\