标签:
文件系统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