分布式计算技术-实验指导书2010.pdf
文本预览下载声明
《分布式计算技术》实验指导书
实验学时:16
适用专业:计算机科学与技术、计算机软件技术、网络工程等
实验一:Socket 程序设计试验
【实验目的及要求】
在Uinx/Linux/Windows 环境下通过socket方式实现一个基于Client/Server 或是
P2P模式的文件传输程序。
要求:要求独立完成。
【实验原理和步骤】
1. 确定传输模式:通过socket方式实现一个基于Client/Server或P2P模式的文件
传输程序。
2. 如果选择的是Client/Server模式的文件传输程序,则需要分别实现客户端和服务
器端程序。客户端:用面向连接的方式实现通信。采用Socket 类对象,接收服务器发
送的文件并保存在特定的位置。服务器端:监听客户请求,读取磁盘文件并向客户端
发送文件。注意:需要实现文件的读写操作。
3. 如果选择的是 P2P 模式的文件传输程序,则需要实现一个 Peer 程序,它即是客户
端,也是服务器端。Peer程序需要实现文件上传、下载及文件读写等操作。
【实验任务】
1.提交源代码以及实验报告。
实验二:Java RMI 试验
【实验目的及要求】
在Java语言环境下,通过RMI实现一个学生成绩或教师信息查询的程序。
要求:要求独立完成。
【实验原理和步骤】
1. 定义学生成绩查询或教师信息查询的远程接口
2. 实现服务器端软件(程序):设计远程接口的实现类和服务器对象类,在服务器
上启动目录服务,并注册远程对象,供客户端访问。远程接口的实现类要从本地读取
数据信息(成绩或教师信息),数据信息可以存储在文件或数据库中。
3. 实现客户端软件(程序):实现访问远程对象的客户程序。
【实验任务】
1.提交源代码以及实验报告。
实验三:实现一个基本的 Web 服务器程序(1)
【实验目的及要求】
采用Socket API知识和对HTTP协议,CGI的理解,实现一个基本的WEB服务器程序,
要求服务器能成功响应客户程序发来的GET命令(传送文件),进一步实现响应POST
和GET命令的CGI程序调用请求。
要求:要求独立完成。
【实验原理和步骤】
1.实验原理
(1)服务器主要监听来至客户浏览器或是客户端程序的连接请求,并且接收到客户请
求后对客户请求作出响应。如果请求是静态的文本或是网页则将内容发送给客户。如
果是CGI程序则服务器调用请求的CGI程序,并发送结果给客户。
(2)HTTP协议是基于TCP/IP协议之上的协议,是Web浏览器和Web服务器之间的应
用层协议,是通用的、无状态的、面向对象的协议。
(3)HTTP的请求一般是GET或POST命令(POST用于FORM参数的传递)。GET命令的
格式为
GET 路径/文件名 HTTP/1.0
文件名指出所访问的文件,HTTP/1.0指出Web浏览器使用的HTTP版本。
(4)Web浏览器提交请求后,通过HTTP协议传送给Web服务器。Web服务器接到后,
进行事务处理,处理结果又通过HTTP传回给Web浏览器,从而在Web浏览器上显示出
所请求的页面。
在发送内容之前Web服务器首先传送一些HTTP头信息:
HTTP 1.0 200 OK
WEBServer:1.0 // 服务器类型
content_type:类型
content_length:长度值
(5)响应POST和GET命令的CGI程序调用请求需要服务器执行外部程序,Java执行
外部可执行程序的方法是:首先通过Runtime run = Runtime.getRuntime()返回与当
前Java 应用程序相关的运行时对象;然后调用Process CGI = run.exec(ProgramName)
另启一个进程来执行一个外部可执行程序。
2. Web服务器的实现步骤:
(1) 创建ServerSocket类对象,监听端口8080。这是为了区别于HTTP的标准TCP/IP
端口80而取的;
(2) 等待、接受客户机连接到端口8080,得到与客户机连接的socket;
(3) 创建与socket字相关联的输入流和输出流
(4) 从与 socket 关联的输入流 instream 中读取一行客户机提交的请求信息,请求信
息的格式为:GET 路径/文
显示全部