欢迎来到天天文库
浏览记录
ID:57195824
大小:46.69 KB
页数:16页
时间:2020-08-05
《分布式系统导论实验.docx》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、分布式系统导论实验学号:姓名:2012/5/29一.实验总要求(1)本实验是《分布式系统导论》课程的配套实验。满分20分。(2)实验1作为熟悉整个实验的基础,不作为检查要求。(3)学生可以从四个实验中选择实验1和实验2或者实验3和实验4来完成实验任务。(4)如果选择实验1和实验2,完成基本功能,评分从10分起评。(5)如果先择实验3和实验4,完成基本功能,评分从15分起评。(6)实验完成之后,需要:a)通过实验验收并回答老师问题。b)写实验报告。c)代码压缩成zip文件发送到jinxueyunbjut.edu.cn。i.主题为:分布式系统导论实验+学号+ii.附件为:代码的zip文件二.
2、实验任务(1)Prac3.面向连接的流模式Socketa.目标:尝试通过面向流模式的socket实现通信。b.实验任务:1.创建一个名为ConnectionAcceptor.java的程序。此程序可以接受一个连接并用流模式socket接受一个消息。创建一个名为ConnectionRequestor.java的程序。此程序可以请求一个连接,并使用流模式socket。2.ConnectionAcceptor.java有2个命令行参数,分别用于表示本进程使用的服务器socket的端口号,以及要发送的消息。3.ConnectionRequestor.java有2个命令行参数,分别表示连接acce
3、ptor的主机名和连接acceptor的端口号。c.各个程序的结构分析:ConnectionAcceptor.java创建一个连接socket并监听连接请求;接受一个连接;创建一个数据socket用于读写socket流;得到一个用于读的输入流;从流读;得到一个用于写的输出流;向流写;关闭数据socket;关闭连接socket.ConnectionRequestor.java创建一个数据socket并请求一个连接;获取一个输出流用于向socket写;向流中写;获取一个输入流用于从socket读;从流读;关闭数据socket.d.程序源代码:1)àConnectionAcceptor.jav
4、apackagedistribute;importjava.io.IOException;importjava.io.InputStream;importjava.io.OutputStream;importjava.net.ServerSocket;importjava.net.Socket;publicclassConnectionAcceptor{publicstaticvoidmain(String[]args)throwsIOException{//TODOAuto-generatedmethodstubServerSocketsvs=null;Socketsocket=nul
5、l;InputStreaminputs=null;OutputStreamoutputs=null;//intportNum=1000;try{svs=newServerSocket(Integer.parseInt(args[0]));System.out.println("connecting...");socket=svs.accept();inputs=socket.getInputStream();StringBufferbuffer=newStringBuffer();while(true){intic=0;while((ic=inputs.read())!=''){bu
6、ffer.append((char)ic);}if(ic=='')break;}System.out.println(buffer);outputs=socket.getOutputStream();outputs.write(args[1].getBytes());outputs.write("".getBytes());inputs.close();outputs.close();socket.close();}catch(Exceptione){e.printStackTrace();}}}2)àConnectionRequestor.javapackagedistribu
7、te;importjava.io.*;importjava.net.*;publicclassConnectionRequestor{publicstaticvoidmain(String[]args)throwsIOException{//TODOAuto-generatedmethodstub//InetAddressaddr=InetAddress.getByName("localhost");System.out.print
此文档下载收益归作者所有