java编程 文件传输共享 通信

来源:百度知道 编辑:UC知道 时间:2024/06/27 10:18:28
如果设计的好,追加200分!能设计出来的请加359229895,验证后给分。麻烦了~!!
设计并实现一个实现文件共享的综合软件FSS,实现以下主要功能:
基本功能:
1) 同一局域网内的每台计算机都运行FSS的一份拷贝,每个用户设定本目录的共享文件夹或者浏览本地文件的权限。其他计算机上的用户可以通过FSS对已经共享的文件或者文件夹进行浏览、拷贝、移动、删除、重命名等操作;
2) 设计友好的图形用户界面,能够方便的通过键盘、鼠标等进行操作,并且能够体现文件传输的进程等动态特征。
3) 可以通过对已连接的其他FSS进行监控,比如允许建立连接、断开连接、要求用户名密码验证等。

参考实现模型:http://www.azhi.net/IPMsg/ ,不过不要求基于点对点(P2P)的技术实现,通过普通的网络连接模式实现即可。界面的设计可以和Windows资源管理器结合起来进行设计。

附加功能提示:
(以下功能只是作为提示,不要求强制实现,而且鼓励自由发挥)
1) 跨操作系统的文件操作
2) 大文件的分段传输
3) 断点续传
4) 文件共享的安全
5) 通过连接数据库限制连接用户
6) 更加绚丽的图形用户界面,比如添加Flash,3D效果等
给出具体的实现过程,就是怎么设计也行。

使用socket来传输数据,并且使用UDP来保证传递的速度。每一个程序既是客户端又是服务器,在指定端口侦听。可以开两个或者以上的端口,一个端口不断往外发送信息表名自己在线,并且获取其他机器上的传递的信息,将其对应机器设为在线。
传递文件的时候使用socket的建立的UDP连接。因为是局域网丢包率基本上可以忽略。
使用java来做本来就可以跨操作系统,不过要注意不同操作系统间文件的差异性。
大文件的分段传输和断点续传,都可以使用随机读写类RandomAccessFile来实现。
只需数据库限制用户可以让其登录,为其分配用户名。
总体来说原理比较简单,就是比较麻烦,实现起来需要时间比较长,主要是文件传输的时候遇到的情况比较多都要考虑到。