java - 从 Java 服务器到多个 C++ 客户端的高效文件传输?

标签 java c++ nio file-transfer

我需要通过 Internet 将文件从 Java 服务器快速传输到 C++ 客户端,其中通常有许多客户端需要相同的文件。我正在研究Java中的transferTo(),这听起来像是一个经过适当优化的发送文件的函数。但是,我不确定当我使用 TransferTo() 时如何最好地在 C++ 中接收该数据(即它是否只是原始数据传输,如何确定文件何时在客户端结束,等等)。我需要它在 Windows 和 Linux 上都能工作。另外,除了 TransferTo() 之外,是否还有其他方法可以提高效率,特别是利用许多客户端通常需要相同文件的事实?我不知道如何做多播等。此外,我使用应用程序级安全性而不是 VPN,并且在 Java 服务器上使用 AES 加密并使用 MAC 数字签名,所以我也在寻找跨平台库推荐,以最小的痛苦处理 C++ 端的加密。 我非常精通 C++,但以前没有网络编程经验,所以请考虑任何建议。 谢谢。

最佳答案

嵌入式网络服务器? http 传输对您来说足够高效吗?

我记得见过的最简单的嵌入式 Java Web 服务器是 http://acme.com/java/software/Acme.Serve.Serve.html 。我们在生产中使用嵌入式 Jetty 6,但这需要更多的努力。

如果您的客户一开始不知道在哪里可以找到您的网络服务器,请考虑使用 Zeroconf。 http://jmdns.sourceforge.net/

关于java - 从 Java 服务器到多个 C++ 客户端的高效文件传输?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1648110/

相关文章:

java - For 循环使用 JFreeChart 创建多个系列

java - 在 Java 中声明私有(private)方法 "final"有优势吗?

C++ Qt 插槽错误

java - 如何在java7中为特定用户设置文件访问属性

java - 每个请求模型的线程能否比非阻塞 I/O 更快?

java - 我可以查询列表吗?

java - Newbee Drools 链表过滤

java - Centos 7中NIO和IO性能问题(第一次和第二次读写)

c++ - 我可以更改分布参数吗?

c++ - 使用模板模板参数合并可变参数模板中的类型