电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

基于Socket的编程实验

9页
  • 卖家[上传人]:M****1
  • 文档编号:455843212
  • 上传时间:2023-05-08
  • 文档格式:DOC
  • 文档大小:67KB
  • / 9 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、华北电力大学实 验 报 告| 实验名称 基于Socket的C/S编程实验 课程名称 网络与分布计算 | 专业班级: 软件0702 学生姓名: 学 号: 成 绩:指导教师: 翟学明 实验日期:2010-12-5 (实验报告如打印,纸张用A4,左装订;页边距:上下2.5cm,左2.9cm, 右2.1cm;字体:宋体小四号,1.25倍行距。)验证性、综合性实验报告应含的主要内容:一、实验目的及要求二、所用仪器、设备三、实验原理四、实验方法与步骤五、实验结果与数据处理 六、讨论与结论(对实验现象、实验故障及处理方法、实验中存在的问题等进行分析和讨论,对实验的进一步想法或改进意见)七、所附实验输出的结果或数据设计性实验报告应含的主要内容:一、设计要求二、选择的方案三、所用仪器、设备四、实验方法与步骤五、实验结果与数据处理 六、结论(依据“设计要求”)七、所附实验输出的结果或数据* 封面左侧印痕处装订华 北 电 力 大 学 实 验 报 告一、实验目的及要求目的:通过该实验,掌握使用Java语言实现基于Socket的C/S编程方法,着重体会使用Socket进行通信时,通信双方通信协议的制定方法。要求

      2、: 1进行实验预习工作; 2准备实验必须的完整程序流程及源代码; 3上机编程,调试程序,得到实验结果; 4通过指导教师验收; 5写出实验报告二、所用仪器、设备两台安装Windows XP的PC机,在一个局域网中,具有Java等编程环境Eclipse,JDK 1.60。三、实验原理编写一个基于C/S模式的数学服务器程序,并通过客户端进行访问。在这个分布式程序中,客户通过用户界面输入两个整型数组,并发送两个整型数组给数学服务器,数学服务器将两个数组相加,并将结果(作为一个数组)返回给客户。客户程序接收该结果数组,并将其输出到用户界面。程序应该包括如下内容:1 简单的客户端输入/输出界面负责接收用户输入的数组,以及运算结果的输出。 2读写数组到流Java API中没有现成的方法能够写整型数组到Socket,所以我们要写一个新类,其中的方法能够完成这项工作。同样,也没有现成的方法能够从Socket中读一个整型数组。所以在我们的新类中应有两个方法:一个从 Socket中读整型数组;另一个写整型数组到Socket中。3算术客户程序它所做的就是打开一个Socket连接,一个输入流和一个输出流。客户程

      3、序发送两个整型数组到服务器,然后就等待服务器将结果数组发回。当客户程序接收到数组后,它输出数组到客户界面,之后,关闭IO流和Socket。4算术服务器程序运用有关线程编写知识,只需派生(或继承)Thread类的子类,并实现run()方法即可。run()方法实际上包括了服务程序所要进行的所有操作,但是线程只有在调用了start()方法后才会开始执行,并依次调用run()方法。四、 实验方法与步骤 Java socket 编程过程:1.客户端程序都必须遵首下面的基本的步骤:(1)建立客户端socket连接.(2)得到socket的读和写的流.(3)利用流.(4)关闭流.(5)关闭socket. public void SendSock() try TalkServer tServer=new TalkServer(); tServer.start();/启动服务器线程 /向本机的4700端口发出客户请求 Socket socket=new Socket(127.0.0.1,4700);BufferedReader sin=new BufferedReader(new InputStream

      4、Reader(System.in); /由系统标准输入设备构造BufferedReader对象 PrintWriter os=new PrintWriter(socket.getOutputStream(); /由Socket对象得到输出流,并构造PrintWriter对象 BufferedReader is=new BufferedReader(new InputStreamReader(socket.getInputStream(); /由Socket对象得到输入流,并构造相应的BufferedReader对象 String readline1=txt1.getText(); String readline2=txt2.getText(); String readline=readline1+;+readline2; os.println(readline); os.flush(); /刷新输出流,使Server马上收到该字符串 String getString=is.readLine(); txt3.setText(getString); os.close(); /关闭Socke

      5、t输出流 is.close(); /关闭Socket输入流 socket.close(); /关闭Socket catch(Exception e1) System.out.println(Error+e1); /出错,则打印出错信息 2.所有的服务器都要有以下的基本的步骤:(1)建立一个服务器socket并开始监听.(2)使用accept()方法取得新的连接. (3)建立输入和输出流.(4)在已有的协议上产生会话. (5)关闭客户端流和socket.(6)回到第二步或者到第七步.(7)关闭服务器socket.重复和并发服务器 public class TalkServer extends Thread public TalkServer() super();public void run() try ServerSocket server=null; try server=new ServerSocket(4700); /创建一个ServerSocket在端口4700监听客户请求 catch(Exception e) System.out.println(can not listen

      6、 to:+e); /出错,打印出错信息 Socket socket=null; try socket=server.accept(); catch(Exception e) System.out.println(Error.+e); /出错,打印出错信息 String line; BufferedReader is=new BufferedReader(new InputStreamReader(socket.getInputStream(); /由Socket对象得到输入流,并构造相应的BufferedReader对象 PrintWriter os=new PrintWriter(socket.getOutputStream(); /在标准输出上打印从客户端读入的字符串 line=is.readLine(); AddTowArray addTowArray=new AddTowArray(); String result=addTowArray.StrToSubStr(line); os.println(result); /向客户端输出该字符串 os.flush(); /刷新输出流,使Client马上收到该字符串 System.out.println(Server:+line); System.out.println(Server:+result); os.close(); is.close(); socket.close(); server.close(); catch(Exception e) System.out.println(Error.+e); /出错,打印出错信息 3. 读写数组到流的处理方法 思路:从客户端得到两个符合自定义协议的数组字符串,通过自定义类AddTwoArray 对字符串进行解析,解析成两个数组后进行相应的操作,然后将结果转换成字符串,以便于服务器端的数据返回。 AddTwoArray的方法 public String StrToSubStr(String temp);/将字符串分割成子串 public void SubStrToArr(String sub1,String sub2);/将两个子串转换成数组public String SumAll()/将两数组进行加法运算,并返回结果五、实验结果与数据处理

      《基于Socket的编程实验》由会员M****1分享,可在线阅读,更多相关《基于Socket的编程实验》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    监控施工 信息化课堂中的合作学习结业作业七年级语文 发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.