




已阅读5页,还剩27页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
中南大学分布式系统实验报告目录(我选择做4个问题,按住ctrl键并单击目录栏直接到达,这在wps下是有效的)实验1分组套接字应用3一.实验目的3二、预习和实验要求3三。实验环境3四、实验原理4V.实验内容5六.实验报告5七、思考问题7实验2-流套接字应用程序8一.实验目的8二、预习和实验要求8Iii .实验环境8四.实验原理8V.实验内容8六.实验报告9七。思考问题12实验3客户机/服务器应用程序开发12一.实验目的12二、预习和实验要求12Iii .实验环境12Iv .实验原理12V.实验内容13六.实验报告13实验9虚拟机的使用和Linux系统30的安装一.实验目的30二。实验内容和步骤30Iii .实验结果32实验1数据包的套接字应用一、实验目的1.理解包套接字的应用2.实现数据包的套接字通信3.理解Java并行编程的基本方法二、预览和实验要求1.预习实验教学和教材的相关内容,了解分组套接字的通信原理;2.熟悉java集成开发环境和程序开发过程;3.理解以下的Java API:线程,可运行的;4.独立思考,尽可能多地完成实验。三。实验环境a)独立计算机或计算机网络;视窗操作系统。C) Jdk工具包d)创建者或其他人四、实验原理1.分布式计算的核心是过程通信。例如,操作系统和网卡驱动程序等应用程序为不同抽象级别的进程通信提供支持Winsock、.* .套接字API是一种机制,用于IPC提供系统的低级抽象。尽管用户工作人员很少需要在这个级别编写代码,但是理解套接字API是非常重要的,因为:1、高级设施是建立在套接字上的在API之上,也就是说,它们是通过使用套接字API提供的操作来实现的。2、对于响应时间要求较高或对于运行在有限资源平台上的应用程序,套接字API可能是最合适的。在互联网协议体系结构中,传输层有两种主要的协议,UDP和TCP。中允许使用UDP传输层使用无连接通信进行传输,传输的消息称为数据包。(是否有面向连接的数据包插座?因此,数据包套接字是一个基于UDP的不可靠的IPC。Java为包套接字API提供了两个类:(1)套接字的数据报套接字类(2)数据包交换的数据包类希望使用该API发送和接收数据的进程必须实例化一个datagramSocket对象,每个Socket绑定到进程所在的一个UDP端口。为了向其他进程发送数据包,进程必须创建表示数据包本身的对象。该对象是通过实例化数据报套接字对象创建的。在接收方进程中,datagramPacket对象也必须被实例化并绑定到端口必须与发送方数据包的定义一致。接收过程创建一个指向字节数组的DatagramPacket,并调用datagramSocket对象的接收方法,并将datagramsocket对象指针定义为参数。2.并行编程(如示例1中的Java)线程的执行粒度小于进程。Java虚拟机允许应用程序同时运行多个执行线程是的。有两种方法可以创建新线程的执行。一种是声明类是线程的子类。这个子类线程类的运行方法应该被重写。子类的实例可以被分配和启动。另一种方法是创建一条线过程,同时声明一个类来实现可运行接口(这个类实现Run方法)。类的实例可以作为参数分配并传递给创建的线程,然后启动线程。例如:创建一个线程子类的类:类SomeThread扩展线程SomeThread() 公共void run() 。Somethread p=new Somethread();p . start();创建一个实现Runnable接口的类,并将其传递给线程:类SomeRun实现了Runnable SomeRun() 公共void run() 。SomeRun p当执行实现Runnable接口的类时,不能有子类。实例化线程实例并作为目标线程。在大多数情况下,如果您只想重写run()方法,而没有其他线程方法,那么您应该使用Runnable接口。因为类不应该被继承,除非程序员有意修改或增强类的基本行为。五、实验内容1.构建客户端程序(1)构造datagramSocket对象实例(2)构造DatagramPacket对象实例,并包含诸如接收者主机地址、接收端口号等信息(3)调用datagramSocket对象实例的send方法,将datagramsocket对象实例作为参数。传输次数。2.构建服务器端程序(1)构造datagramSocket对象实例并指定接收的端口号。(2)构建DatagramPacket对象实例来重新组织接收到的消息。(3)调用datagramSocket对象实例每个人接收消息的方法,并且DatagramPacket对象实例作为参数。六.实验报告1.客户端和服务器程序的伪代码;客户:导入java.io.IOException。导入Java . net . DataGramPacket;导入Java . net . DataGramSocket;导入.InetAddress。导入Java . util . scanner;公共类客户端公共静态void main(字符串)参数引发IOException/使用随机端口创建一个客户端数据内存套接字DataGramSocket=新的DataGramSocket();/初始化DatagramSocket进行发送,它包含长度为0的字节数组DatagramPacket outPacket=新的DatagramPacket(新字节0),0,InetAddress . GetByName( 127 . 0 . 0 . 1 ),30000;/定义接收网络数据的字节数组字节 inBuff=新字节4096;数据包中的数据包=新的数据包(缓冲区内,缓冲区长度内);/创建键盘输入流扫描仪扫描=新扫描仪(系统英寸);/连续读取键盘输入while(scan.hasNextLine()/将键盘输入的一行字符串转换成字节数组字节缓冲=扫描下一行()。getBytes();/在DatagramPacket中设置字节数据以便发送outPacket.setData(缓冲);/发送数据报socket . send(OutPacket);/读取Socket中的数据,并将读取的数据放入由inPacket封装的字节数组中。socket.receive(数据包中);System.out.println(新字符串(inBuff,0,InPacket . GetLength();服务器:导入java.io.IOException。导入Java . net . DataGramPacket;导入Java . net . DataGramSocket;公共类服务公共静态void main(字符串)参数引发IOException/定义接收网络数据的字节数组字节 inBuff=新字节4096;/创建数据库套接字对象DataGramSocket=新的DataGramSocket(30000);/创建DatagramPacket对象,准备接收具有指定字节数组的数据数据包中的数据包=新的数据包(缓冲区内,缓冲区长度内);字符串消息=收到消息!;虽然(真)socket.receive(数据包中);/将接收到的内容转换成字符串并输出System.out.println(新字符串(inBuff,0,InPacket . GetLength();/将字符串数组中的一个元素作为发送数据字节发送数据=消息. GetBytes();/将指定的字节数组作为发送数据,并使用新接收到的数据包/源SocketAddress作为目标SocketAddress创建数据包/定义要发送的DatagramPacket对象DatagramPacket outPacket=新的DatagramPacket(发送数据,sendData.length,Inpacket . GetSocketAddress();/发送数据socket . send(OutPacket);2.测试过程中的问题和解决方案;问:我不太了解DatagramPacket和DatagramSocket。解决方案:参考JDK api文档。3.实验结果:服务器:客户端1:客户2:七、思考问题1.如何避免丢包造成的无限等待问题?我想合同签发时可以设定一个时间。如果交付的包裹在一定时间内没有收到承诺,它将被再次发送。为了防止接收方接收重复的数据包,可以在数据包中添加序列号,接收方在接收数据包时可以检查序列号。2.如何实现全双工分组通信?答:使用端口插座之间的通信功能。实验性双流套接字应用一、实验目的1.理解流式套接字的原理2.实现流式套接字通信二、预览和实验要求1.预习实验教学和教材的相关内容,了解流式套接字的通信原理;2.熟悉java环境和程序开发过程;3.独立思考,尽可能多地完成实验。三。实验环境(a)独立计算机;视窗操作系统;C) Jdk工具包四、实验原理套接字API是一种提供低级抽象的机制。虽然应用程序人员很少需要在这个级别编写几代代码,但是理解套接字API是非常重要的,因为:1、高级设施是建立在套接字API上的,也就是说
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 个人煤矿出售合同范本
- 入学教育心得体会左右大学五篇
- 文化教育合作协议书
- 娱乐游戏活动策划方案
- 商品购销合同的基本要素
- 环境评价公众参与机制在2025年公众参与评价体系构建中的应用报告
- 病历采集试题及答案
- 2025年数学阅读能力题库及答案
- 视唱模拟考试试题及答案
- 2025年食品科学与工程考公务员面试题(附答案+解析)
- 2025版食堂承包合同补充协议模板(含财务管理)
- 大学生家教服务合同范本
- 小学道德与法治教师考试题及答案
- 2025-2026人教版(PEP)一年级上册英语教学计划 (三篇)
- 2025年燃气送气服务人员考试题库及答案
- 2025-2026学年第一学期九年级开学第一课:收心班会课件
- 工程质量管理存在问题及管理措施
- 2025秋湘科版(2024)一年级上册科学教学计划
- 血压基础护理讲解
- Unit1单元复习课件人教版八年级英语上册
- 2025护理岗招聘笔试题库及答案
评论
0/150
提交评论