【发布时间】:2010-10-20 02:16:29
【问题描述】:
我需要一个文件服务器作为桌面应用程序的一部分,它应该尽可能快地响应文件传输请求(来自远程客户端,通常位于同一 LAN 上)。小文件会有很多文件请求。服务器应该能够提供上传和下载服务。
我不拘泥于任何特定技术,因此我对任何编程语言、工具包、库都持开放态度,只要它们可以在 Windows 上运行。
我最初的想法是使用 Windows 套接字实现 C/C++ 或使用 Boost(asio 等)等库提供的服务。我也想到了 Erlang,但我必须学习,因此性能优势应该证明由于必须学习该语言而增加的开发时间是合理的。
后期编辑:我很欣赏那些说使用 FTP 或 HTTP 或基本上已经创建的任何东西的答案,但考虑到您仍想从头开始编写一个,您会怎么做?
【问题讨论】:
-
好的,说出原因也很有启发性
-
您似乎只是为了流行语效应而提到它,而没有考虑到 Erlang 的使用实际上与您出于某种原因重新发明的解决方案有何关系。
-
不是真的,我提到它是因为它支持并发编程。有用 Erlang (YAWS) 编写的网络服务器。如果您没有得到答案,您可能应该先询问,然后做出假设。
-
如果您需要服务器用于真实场景,而不仅仅是作为编程练习,我强烈建议您使用任何已建立的协议库。如果没有必要,不要发明轮子。
-
我在考虑使用 Boost,现在我被使用 POCO 的想法所吸引。
标签: c++ sockets fileserver