我有一个 C++ 程序,它不断生成需要发送到 Rails 服务器的大量数据。程序和服务器都在运行 Suse Linux 的同一台机器上。
什么是最有效和最简单的解决方案?
我有一个 C++ 程序,它不断生成需要发送到 Rails 服务器的大量数据。程序和服务器都在运行 Suse Linux 的同一台机器上。
什么是最有效和最简单的解决方案?
您可以按照您想要的方式(文件或数据库)存储数据。
唯一的难点是让您的 Rails 应用程序知道 C++ 程序已完成。
我强烈建议您将此信息存储在缓存中,以便在您需要的每个时间段检查此信息不会花费太多。
您可以使用套接字,因为您的两个程序都驻留在同一台本地计算机上,并且通常通过本地套接字发送序列化数据应该非常简单。由于套接字使用内部缓冲区,因此传输时间应该非常快。您的 C++ 程序可以将数据推送到 Rails 服务器,也可以让 Rails 服务器轮询 C++ 程序,前提是您在 C++ 程序中设置缓存以在轮询调用之间存储数据。不过,推送方法可能效果最好。
套接字是要走的路。如果你想在 C++ 中使用一些好的异步和跨平台套接字,你最好的选择可能是 boost::asio。