【发布时间】:2014-07-27 02:55:31
【问题描述】:
在我的 C 应用程序中,我有一个 ZMQ 上下文,我想与所有 Lua 状态共享它。我使用 Lua 5.2 版和 ZMQ 3.2 版。
我想为 Lua 使用已经可用的绑定,例如 lzmq。
例如:
// create ZMQ context
void *ctx = zmq_ctx_new();
...
// create Lua State
lua_State *L = luaL_newstate();
...
// push the context or something
lua_setglobal(L, "MY_ZMQ_CONTEXT");
然后能够以某种方式在 Lua 中使用该 ZMQ 上下文(使用 lzmq 的示例):
local zmq = require "lzmq"
require "utils"
print_version(zmq)
local ctx = MY_ZMQ_CONTEXT -- ???
local skt = ctx:socket{zmq.REQ,
linger = 0, rcvtimeo = 1000;
connect = "inproc://hello";
}
skt:send("hello from cli")
print_msg("recv: ",skt:recv())
skt:close()
我该怎么做这样的事情?使用 lzmq 或任何其他 ZMQ Lua 绑定?
【问题讨论】: