Java 远程文件访问客户端

Java 远程文件访问客户端,java,file-transfer,Java,File Transfer,我正在寻找一个小应用程序,允许一个人远程访问他们的计算机上的文件。这些文件由运行在机器上的守护进程提供,并根据需要向web服务器提供文件 什么样的协议最适合这种用途?我不想使用原始套接字(或FTP)来试图避免防火墙问题。WebSocket是一个很好的选择。还有其他的方法吗 Java或任何其他语言都有类似的功能吗?我正在寻找源代码,所以封闭源代码的应用程序是毫无疑问的。我还希望有任何其他有用的指示,让我开始在正确的方向 对于java,您只需读取文件并对其进行Base64编码,然后边走边发送数据,并

我正在寻找一个小应用程序,允许一个人远程访问他们的计算机上的文件。这些文件由运行在机器上的守护进程提供,并根据需要向web服务器提供文件

什么样的协议最适合这种用途?我不想使用原始套接字(或FTP)来试图避免防火墙问题。WebSocket是一个很好的选择。还有其他的方法吗


Java或任何其他语言都有类似的功能吗?我正在寻找源代码,所以封闭源代码的应用程序是毫无疑问的。我还希望有任何其他有用的指示,让我开始在正确的方向

对于java,您只需读取文件并对其进行Base64编码,然后边走边发送数据,并在末尾添加文件结束符号。查找缓冲的输出和输入流以及套接字。

对于java,您只需读取文件并对其进行Base64编码,然后边走边发送数据,并在末尾添加文件结束符号。查找缓冲输出和输入流以及套接字。

根据我的说法,使用java.nio将是最佳解决方案。借助java.nio包,您可以缓冲完整的文件,并根据请求通过网络发送。这意味着每当有人请求文件时。它不会直接在远程客户端上下载完整的文件,而应用程序会加载从服务器接收到的内容。通过使用MappedByteBuffer和java.nio包的FileChannel类,它可以很容易地实现

下面的链接将帮助您实施解决方案。

根据我的说法,使用java.nio将是最佳解决方案。借助java.nio包,您可以缓冲完整的文件,并根据请求通过网络发送。这意味着每当有人请求文件时。它不会直接在远程客户端上下载完整的文件,而应用程序会加载从服务器接收到的内容。通过使用MappedByteBuffer和java.nio包的FileChannel类,它可以很容易地实现

下面的链接将帮助您实施解决方案。
我的第一个想法是为什么要重新发明轮子。只需在InvidualPersons计算机上运行一个Web服务器,并对其进行配置,以便通过HTTP访问感兴趣的文件

我不打算就此安全方面进行长时间的讨论,但我只想说,设置此设置可能/将使您的内部计算机暴露在一个巨大的坏世界中,所以在您将其投入使用之前,请进行适当的风险分析并获得管理层的批准。但是,如果风险是可以接受的,那么我非常建议尽可能使用经过测试的Apache(以及类似的)而不是自行开发的解决方案

假设您有一个面向internet的Web服务器,那么您可以将ApacheHttpd mod_proxy配置为代理到桌面上运行的Web服务器。您可以在线找到mod_代理文档,但至少需要配置

ProxyRequests on
ProxyPass /computer/abc http://abc.internalnet/somewhere/
ProxyPassReverse /computer/abc http://abc.internalnet/somewhere/

我的第一个想法是为什么要重新发明轮子。只需在InvidualPersons计算机上运行一个Web服务器,并对其进行配置,以便通过HTTP访问感兴趣的文件

我不打算就此安全方面进行长时间的讨论,但我只想说,设置此设置可能/将使您的内部计算机暴露在一个巨大的坏世界中,所以在您将其投入使用之前,请进行适当的风险分析并获得管理层的批准。但是,如果风险是可以接受的,那么我非常建议尽可能使用经过测试的Apache(以及类似的)而不是自行开发的解决方案

假设您有一个面向internet的Web服务器,那么您可以将ApacheHttpd mod_proxy配置为代理到桌面上运行的Web服务器。您可以在线找到mod_代理文档,但至少需要配置

ProxyRequests on
ProxyPass /computer/abc http://abc.internalnet/somewhere/
ProxyPassReverse /computer/abc http://abc.internalnet/somewhere/

但我不想在某人的机器上运行一个完整的Web服务器,主要是因为配置陷阱。当然,我运行的任何东西都类似于Web服务器,但我正在寻找轻量级和易于配置的东西。有点像WindowsLiveFolderShare。但我不想在某人的机器上运行一个完整的Web服务器,主要是因为配置陷阱。当然,我运行的任何东西都类似于Web服务器,但我正在寻找轻量级和易于配置的东西。有点像windows live foldershare。