码迷,mamicode.com
首页 > 其他好文 > 详细

文件系统

时间:2016-03-22 19:11:11      阅读:201      评论:0      收藏:0      [点我收藏+]

标签:

文件系统1.0版本:

1.总的示意图:

技术分享

 

2.原理:

  1)3个程序,每个程序都有一个server与client端。需要发送的文件(send1.zip)在server端等待client端的链接进行传输。client端通过链接到server端接送文件放在a目录下(共接收到3个文件);也可以使用一个文件存储(recieve.rar)。

  2)首先:打开3个server端等待client端的连接。其次:打开3个client端程序连接到server端来接收文件。

  3)打开Server端等待Client端的连接,当一个Client端连接上来后,启动一个线程来把文件传输给该Client端。传输文件是首先把文件使用 FileInputStream() 方法存储在一个1024byte大小的数组中,然后通过DataInputStream()方法传输到Client端,Client端通过FileOutputStream()方法将数组中存储的1024byte的数据写入文件中。

3.使用过程:

  1)使用VM建立3个虚拟机,分别叫:hadoop、king、ant  其ip地址分别为:192.168.119.180   192.168.119.181    192.168.119.182  要传输的文件在send包中:send.zip  接收的文件在a包中:recieve.rar

  2)通过myeclipse把程序打成 jar包 传到虚拟机中,然后运行。

技术分享技术分享

技术分享

4.结果

  1)在传输234m文件过程中,Cient端在接收文件过程中,每一次都只接受一个Server端传输的文件,而且最后发现传输的接收到的文件都是同一个Server端传输的文件。

后来看代码发现:技术分享

自己写的Client端都是单线程的接收文件,然后修改成多线程后:技术分享

技术分享

2)在修改后发现每一个Client端接收的文件有一些不确定性,不再是唯一的那个Server端传输的文件。

5.总结:

  在这个过程中,由于代码已经写好,只是修改的一些代码,然后就开始配置虚拟机的步骤。但是在3个虚拟机运行过程中出现了许多问题:(1).防火墙没有关闭导致不同虚拟机不能够通信。(2).关于网络的问题:虚拟机与本机的通信问题(NAT模式与桥接模式)

文件系统

标签:

原文地址:http://www.cnblogs.com/maying3010/p/5307635.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!