中南大学分布式系统实验报告目录(我选做4题,按住ctrl点击目录条可直达,wps下有效)实验一数据包socket应用........................................................................................................3一、实验目的...........................................................................................................................3二、预习与实验要求...............................................................................................................3三、实验环境...........................................................................................................................3四、实验原理...........................................................................................................................4五、实验内容...........................................................................................................................5六、实验报告...........................................................................................................................5七、思考题...............................................................................................................................7实验二流式socket应用............................................................................................................8一、实验目的...........................................................................................................................8二、预习与实验要求...............................................................................................................8三、实验环境...........................................................................................................................8四、实验原理...........................................................................................................................8五、实验内容...........................................................................................................................8六、实验报告...........................................................................................................................9七、思考题.............................................................................................................................12实验三客户/服务器应用开发...................................................................................................12一、实验目的.........................................................................................................................12二、预习与实验要求.............................................................................................................12三、实验环境.........................................................................................................................12四、实验原理.........................................................................................................................12五、实验内容.........................................................................................................................13六、实验报告.........................................................................................................................13实验九虚拟机的使用与Linux系统的安装..........................................................................30一、实验目的.........................................................................................................................30二、实验内容和步骤.............................................................................................................30三、实验结果.........................................................................................................................32实验一数据包socket应用一、实验目的1.理解数据包socket的应用2.实现数据包socket通信3.了解Java并行编程的基本方法二、预习与实验要求1.预习实验指导书及教材的有关内容,了解数据包socket的通信原理;2.熟悉一种javaIDE和程序开发过程;3.了解下列JavaAPI:Thread、Runnable;4.尽可能独立思考并完成实验。三、实验环境a)独立计算机或计算机网络;b)Windows操作系统。c)Jdk工具包d)JCreatororothers四、实验原理1.分布式计算的核心是进程通信。操作系统、网卡驱动程序等应用从不同抽象层面提供了对进程通信的支持,例如Winsock、java.net.*。SocketAPI是一种作为IPC提供对系统低层抽象的机制。尽管应用人员很少需要在该层编写代码,但理解socketAPI非常重要,因为:1,高层设施是构建于socketAPI之上的,即他们是利用socketAPI提供的操作来实现;2,对于以响应时间要求较高或运行于有限资源平台上的应用来说,socketAPI可能是最适合的。在Internet网络协议体系结构中,传输层上有UDP和TCP两种主要协议,UDP允许在传送层使用无连接通信传送,被传输报文称为数据包。(是否存在面向连接的数据包socket?)因此数据包socket是基于UDP的不可靠IPC。Java为数据包socketAPI提供两个类:(1)针对socket的datagramSocket类(2)针对数据包交换的datagramPacket类希望使用该API发送和接收数据的进程须实例化一个datagramSocket对象,每个socekt被绑定到该进程所在及其的某个UDP端口上。为了向其他进程发送数据包,进程必须创建一个代表数据包本身的对象。该对象通过实例化一个datagramsocket对象创建。在接收者进程中,datagramPacket对象也必须被实例化并绑定到一个本地端口上,该端口必须与发送者数据包的定义一致。接收进程创建一个指向字节数组的DatagramPacket,并调用datagramSocket对象的receive方法,将DatagramPacket对象指针作为参数定义。2.并行编程(以Java为例1)一个线程是比进程更小的执行粒度。Java虚拟机允许应用程序有多个执行线程同时运行。有两种方法来创建一个新线程的执行。一个是声明一个类是一个线程的子类。这个子类应重写Thread类的run方法。一个子类的实例可以被分配和启动。另一种方法创建一个线程,并同时声明一个类实现了Runnable接口(这个类要实现run方法)。一个类的实例可以被分配并作为参数传递给创建的线程,并启动线程。例如:创建一个类是Thread的子类:classSomeThreadextendsThread{SomeThread(){}publicvoidrun(){...}}SomeThreadp=newSomeThread();p.start();创建一个实现Runnable接口的类并传递给线程:classSomeRunimplementsRunnable{SomeRun(){}publicvoidrun(){...}}SomeRunp=newSomeRun(143);newThread(p).start();当一个实现Runnable接口的类被执行时,可以没有子类。实例化一个Thread实例,并通过自身作为目标线程。在大多数情况下,如果你只打算重写的run()方法,并没有其它的线程方法,应使用Runnable接口。因为类不应该被继承,除非程序员有意修改或增强类的基本行为。五、实验内容1.构建客户端程序(