【发布时间】:2013-08-29 04:55:45
【问题描述】:
我正在开发一个使用文件传输库(例如 cURL)进行文件传输的服务应用程序。
客户端应用程序还将提供要传输的文件名。
客户端还需要文件传输的进度信息。
请建议哪种 IPC 机制最适合这种客户端服务器交互?
我还可以在这两个进程之间共享 Class 对象吗?
【问题讨论】:
标签: c++ curl client-server ipc libcurl
我正在开发一个使用文件传输库(例如 cURL)进行文件传输的服务应用程序。
客户端应用程序还将提供要传输的文件名。
客户端还需要文件传输的进度信息。
请建议哪种 IPC 机制最适合这种客户端服务器交互?
我还可以在这两个进程之间共享 Class 对象吗?
【问题讨论】:
标签: c++ curl client-server ipc libcurl
我会选择共享内存。您可以将共享内存用作对象的内容。
【讨论】:
我建议使用 Sockect 通信。您可能需要编写更多代码,但这是客户端服务器场景,客户端服务器可能位于不同的机器上,这将是通用程序。请记住 scp 的工作原理。
【讨论】:
因为听起来您在同一个机器上运行两个进程,所以您可以使用共享内存。但是,这使用起来可能很麻烦,因为您必须同步对内存的访问,并且能够在客户端将正确的详细信息写入内存时通知服务器。
因此,您最好采用套接字方法。它将为您处理双向通信,并为客户端提供一种直接的方式来发现服务器。此外,如果您最终将服务器进程移动到另一台机器上,则不需要进行太多更改即可使其正常工作。
【讨论】: