中南大学
分布式系统实验报告
目录
(我选做 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. 熟悉一种 java IDE 和程序开发过程;
3. 了解下列 Java API:Thread、Runnable;
4. 尽可能独立思考并完成实验。
三、实验环境
a) 独立计算机或计算机网络;
b) Windows 操作系统。
c) Jdk 工具包
d) JCreator or others
四、实验原理
1. 分布式计算的核心是进程通信。
操作系统、网卡驱动程序等应用从不同抽象层面提供了对进程通信的支持,例如
Winsock、.*。Socket API 是一种作为 IPC 提供对系统低层抽象的机制。尽管应用人
员很少需要在该层编写代码,但理解 socket API 非常重要,因为:1,高层设施是构建于 socket
API 之上的,即他们是利用 socket API 提供的操作来实现;2,对于以响应时间要求较高或
运行于有限资源平台上的应用来说,socket API 可能是最适合的。
在 Internet 网络协议体系结构中,传输层上有 UDP 和 TCP 两种主要协议,UDP 允许在
传送层使用无连接通信传送,被传输报文称为数据包。(是否存在面向连接的数据包
socket?)因此数据包 socket 是基于 UDP 的不可靠 IPC。Java 为数据包 socket API 提供两个类:
(1)针对 socket 的 datagramSocket 类
(2)针对数据包交换的 datagramPacket 类
希望使用该 API 发送和接收数据的进程须实例化一个 datagramSocket 对象,每个 socekt
被绑定到该进程所在及其的某个 UDP 端口上。为了向其他进程发送数据包,进程必须创建
一个代表数据包本身的对象。该对象通过实例化一个 datagram socket 对象创建。
在接收者进程中,datagramPacket 对象也必须被实例化并绑定到一个本地端口上,该端
口必须与发送者数据包的定义一致。接收进程创建一个指向字节数组的 DatagramPacket,并
调用 datagramSocket 对象的 receive 方法,将 DatagramPacket 对象指针作为参数定义。
2. 并行编程(以 Java 为例 1 )
一个线程是比进程更小的执行粒度。 Java 虚拟机允许应用程序有多个执行线程同时运
行。有两种方法来创建一个新线程的执行。一个是声明一个类是一个线程的子类。这个子类
应重写 Thread 类的 run 方法。一个子类的实例可以被分配和启动。另一种方法创建一个线
程,并同时声明一个类实现了 Runnable 接口(这个类要实现 run 方法)。一个类的实例可以
被分配并作为参数传递给创建的线程,并启动线程。例如:
u 创建一个类是 Thread 的子类:
class SomeThread extends Thread {
SomeThread() {
}
public void run() {
. . .
}
}
SomeThread p = new SomeThread();
();
u 创建一个实现 Runnable 接口的类并传递给线程:
class SomeRun implements Runnable {
SomeRun(
分布式系统实验报告 来自淘豆网m.daumloan.com转载请标明出处.