首页 > 其他 > 详细

C/S+P2P网络模型(二)--文件传输

时间:2014-03-21 13:04:49      阅读:413      评论:0      收藏:0      [点我收藏+]

上一篇文章我们实现聊天的功能,下面我们看文件传输怎么实现。

我的做法是:增加一个文件服务器,所有上传和下载文件的操作都由文件服务器来处理。

因此处理逻辑是这样的:如果用户请求上传文件或者下载文件,那么就将用户直接与文件服务器通信,而不用经过中央服务器。

所以现在的问题是知道java怎么实现上传和下载文件,如果这个问题解决了,那基本就搞定了。

首先,文件传输基本都是用面向连接的方式因为无连接的方式容易丢包,一旦丢了一个数据包,文件就坏了,所有努力全白费。但是需要注意的是面向连接的方式,在服务器处理完一个连接后该连接就关闭了。

下面看上传和下载文件的具体过程。

上传文件:

    1.服务器accept()阻塞。

    2.用户向服务器发送上传文件的请求,服务器应答请求。

    3.客户端发送文件。

    4.服务器端接收并保存。

下载文件:

    1.用户请求文件列表(这里我没有将文件列表写进文件,只是将它保存在内存中,太懒了)。

    2.客户选择要下载的文件序号。

    3.服务器将该文件发送给客户端。

    4.客户端接收并保存。

我增加了两个主要文件:FileServer.javaFileClient..java。有需要的请下载代码

测试的时候先运行两个服务器:Server和FileServer,然后在运行Main。

C/S+P2P网络模型(二)--文件传输,布布扣,bubuko.com

C/S+P2P网络模型(二)--文件传输

原文:http://blog.csdn.net/whoami021/article/details/21656875

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!