1

我可以在同一台机器上轻松启动两个或多个单独的 Lua 程序(在 LuaJIT2 上运行)。但是这些程序有什么方法可以交流吗?

我能想到的最好的解决方案是每个程序都可以编写一个程序可以读取的文本文件。但这是非常缓慢的解决方案(即使文本文件保存在虚拟 RAM 磁盘上)。

我知道thera是zeromq和其他可能对此有所帮助的东西......问题是指令太长而且复杂/令人困惑(至少对我来说)。

有什么建议吗?尤其是一些工作代码示例,无论多么简单,都会受到赞赏。甚至如何将一个变量的值从一个 LuaJIT2 进程传递到另一个。

(我使用的是 Windows XP SP3,如果这很重要的话......)

4

1 回答 1

3

本质上,您应该寻找的关键字是“IPC”(进程间通信)。

您可能想要探索的一些选项:

  • 共享文件
  • 共享内存
  • 网络套接字
  • 管道(在 POSIX 系统上)
  • 利用上述之一的中间件

我真的不能说其中之一是最好的。选择将取决于您未提供的其他因素(所需的速度、延迟、您想要交流的内容)。我只是希望我为您指明了正确的方向。

另外,如果 ZeroMQ 太复杂,我强烈建议您多阅读,而不是寻找更简单的代码示例。Lua 是“自己动手”的语言。

如果您不是真的坚持使用 Lua,请查看 PyRo(Python 远程对象)。或者你可能想自己实现这样的东西。

于 2012-08-11T14:53:19.030 回答