欢迎来到天天文库
浏览记录
ID:41032670
大小:67.00 KB
页数:9页
时间:2019-08-14
《基于Socket的编程实验》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、华北电力大学实验报告
2、
3、实验名称基于Socket的C/S编程实验课程名称网络与分布计算
4、
5、专业班级:软件0702学生姓名:学号:成绩:指导教师:翟学明实验日期:2010-12-5(实验报告如打印,纸张用A4,左装订;页边距:上下2.5cm,左2.9cm,右2.1cm;字体:宋体小四号,1.25倍行距。)验证性、综合性实验报告应含的主要内容:一、实验目的及要求二、所用仪器、设备三、实验原理四、实验方法与步骤五、实验结果与数据处理六、讨论与结论(对实验现象、实验故障及处理方法、实验中存在的问题等进行分析和讨论,对实验的进一步想法或改进意见)七、所附实验输出的结果或数据设计性实验报告应含的主
6、要内容:一、设计要求二、选择的方案三、所用仪器、设备四、实验方法与步骤五、实验结果与数据处理六、结论(依据“设计要求”)七、所附实验输出的结果或数据*封面左侧印痕处装订华北电力大学实验报告一、实验目的及要求目的:通过该实验,掌握使用Java语言实现基于Socket的C/S编程方法,着重体会使用Socket进行通信时,通信双方通信协议的制定方法。要求:1.进行实验预习工作;2.准备实验必须的完整程序流程及源代码;3.上机编程,调试程序,得到实验结果;4.通过指导教师验收;5.写出实验报告二、所用仪器、设备两台安装WindowsXP的PC机,在一个局域网中,具有Java等编程环境Eclip
7、se,JDK1.60。三、实验原理编写一个基于C/S模式的数学服务器程序,并通过客户端进行访问。在这个分布式程序中,客户通过用户界面输入两个整型数组,并发送两个整型数组给数学服务器,数学服务器将两个数组相加,并将结果(作为一个数组)返回给客户。客户程序接收该结果数组,并将其输出到用户界面。程序应该包括如下内容:1.简单的客户端输入/输出界面负责接收用户输入的数组,以及运算结果的输出。2.读/写数组到流JavaAPI中没有现成的方法能够写整型数组到Socket,所以我们要写一个新类,其中的方法能够完成这项工作。同样,也没有现成的方法能够从Socket中读一个整型数组。所以在我们的新类中应
8、有两个方法:一个从Socket中读整型数组;另一个写整型数组到Socket中。3.算术客户程序它所做的就是打开一个Socket连接,一个输入流和一个输出流。客户程序发送两个整型数组到服务器,然后就等待服务器将结果数组发回。当客户程序接收到数组后,它输出数组到客户界面,之后,关闭I/O流和Socket。4.算术服务器程序运用有关线程编写知识,只需派生(或继承)Thread类的子类,并实现run()方法即可。run()方法实际上包括了服务程序所要进行的所有操作,但是线程只有在调用了start()方法后才会开始执行,并依次调用run()方法。四、实验方法与步骤Javasocket编程过程:第
9、页共页华北电力大学实验报告1.客户端程序都必须遵首下面的基本的步骤:(1)建立客户端socket连接.(2)得到socket的读和写的流.(3)利用流.(4)关闭流.(5)关闭socket.publicvoidSendSock(){try{TalkServertServer=newTalkServer();tServer.start();//启动服务器线程//向本机的4700端口发出客户请求Socketsocket=newSocket("127.0.0.1",4700);BufferedReadersin=newBufferedReader(newInputStreamReader(S
10、ystem.in));//由系统标准输入设备构造BufferedReader对象PrintWriteros=newPrintWriter(socket.getOutputStream());//由Socket对象得到输出流,并构造PrintWriter对象BufferedReaderis=newBufferedReader(newInputStreamReader(socket.getInputStream()));//由Socket对象得到输入流,并构造相应的BufferedReader对象Stringreadline1=txt1.getText();Stringreadline2=
11、txt2.getText();Stringreadline=readline1+";"+readline2;os.println(readline);第页共页华北电力大学实验报告os.flush();//刷新输出流,使Server马上收到该字符串StringgetString=is.readLine();txt3.setText(getString);os.close();//关闭Socket输出流is.close();//关闭Socket输入
此文档下载收益归作者所有