我有一个由 PHP 支持的 REST API,它调用一个 C 程序。根据输入,C 程序返回 JSON 数据,PHP 读取输出并直接将其发送回客户端。
代码本质上是:
$command = $binary . " " . $parameters;
$output = shell_exec($command);
echo $output;
对于 API 的每次调用,PHP 都会启动程序,进行一些处理,然后结束。
我想通过让 C 程序作为守护进程运行来提高效率,然后让 PHP 后端调用这个守护进程。
另外,我可能正在迁移到 Python Web 框架,所以我想要从客户端跨平台的东西。
我的直觉反应是简单地通过套接字进行,从那时起我可以将守护进程放在任何地方(在可预见的将来它会位于同一个 Web 服务器上,但我最终可以将它移走)。但是套接字是否足够高效,或者还有其他被认为是更好的做法吗?