luajit2进程之间的通信?

时间:2012-08-11 12:47:08

标签: lua luajit

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

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

我知道thera是zeromq和其他可能对此有帮助的事情......问题是指令太长而复杂/混乱(至少对我而言)。

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

(我正在使用Windows XP SP3,如果重要的话......)

1 个答案:

答案 0 :(得分:3)

基本上,你应该寻找的关键词是“IPC”(进程间通信)。

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

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

我不能说其中一个是最好的。选择取决于您未提供的其他因素(所需的速度,延迟,您想要通信的内容)。我只希望我指出你正确的方向。

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

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