本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长


+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

暂无数据

我应该使用 HTTP 服务器还是 FTP 服务器来下载文件?我如何在这里使用 P2P 协议?

发布于2025-01-18 20:27     阅读(1056)     评论(0)     点赞(29)     收藏(3)


在我的 webapp 中,用户可以相互下载文件。如果用户A共享了文件F,则B连接到后,用户可以A下载文件。到目前为止,每个用户都与另一个用户建立了简单的连接,例如:。文件驻留在每个用户的本地硬盘上。为了让用户可以下载文件,我脑海中有两个选择。FAHTTPxxx.xxx.xxx.xxx/FileList

  • 当用户共享一个文件时,将该文件复制到服务器的web-app目录中,这样下载链接就变得简单了<a href="./FileToDownload">Click to download</a>
  • 在每个节点上运行单独的 FTP 服务器。

我不知道哪一个是更好的选择,但第一个对我来说似乎很简单。每个客户端可以通过哪些方式共享文件,而不必将内容复制到webapp目录中的某个位置。在这种情况下我如何使用 P2P 协议?

注意:我正在使用 Tomcat 7。


解决方案


如果不在客户端机器上打开监听套接字,真正的 P2P 是不可能的(这就要求你必须在客户端机器上安装一些东西)。

如果您不想将文件存储在服务器上,我建议您使用“连接服务器”,它充当两个用户之间的网关。用户 A 将上传,用户 B 将同时下载,您只需要在内存中创建字节缓冲区。下载的字节可以丢弃。

您可以用任何语言编写一个小型客户端程序来更新可用文件,并从服务器端接收上传请求(也执行上传)我建议使用 TCP 套接字上传到服务器端,这样您就可以直接控制上传的字节(流)。

这里有一些有趣的技术问题(阻塞流、元数据(文件名、长度、创建日期……)、数据一致性、错误处理等),应该考虑。很好的任务。

我不推荐 FTP,因为您无法控制身份验证和授权(谁可以看到文件)。



所属网站分类: 技术文章 > 问答

作者:黑洞官方问答小能手

链接:http://www.javaheidong.com/blog/article/695079/0f634cf0a207c36793ad/

来源:java黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

29 0
收藏该文
已收藏

评论内容:(最多支持255个字符)