# lua_messagebus **Repository Path**: liudegui/lua_messagebus ## Basic Information - **Project Name**: lua_messagebus - **Description**: Lua 实现的消息总线 (MessageBus),支持订阅发布和事件分发 - **Primary Language**: Lua - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 1 - **Created**: 2022-08-06 - **Last Updated**: 2026-02-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: Lua, 消息总线, 事件驱动, 脚本 ## README ## lua语言的消息总线 类似于我的另外一个仓库中的[pybus](https://gitee.com/liudegui/python-cpp-tcp/blob/dev_nozmq/py_client/pybus.py) 消息总线实现的基本原理:被通信对象向消息总线发布一个主题,这个主题包含消息主题和消息处理函数,消息主题标示某个特定的主题,消息处理函数用来响应该主题的某种消息类型。通信对象向消息总线发送某个特定主题和消息参数,总线就会根据消息主题和消息参数找到对应的消息处理函数处理该请求。 ## Usage + 测试代码 ```lua local messagebus = require('messagebus') local bus = messagebus.new() local cb1 = function (arg1, arg2) print("cb1:" .. arg1) end local cb2 = function (arg1, arg2) print("cb2:" .. arg2) end bus.subscribe('greet', cb1) bus.subscribe('greet', cb2) bus.publish('greet', 'hello', 'world') bus.unsubscribe('greet', cb1) bus.publish('greet', '123', 'abc') ``` + 执行输出结果 luajit test_messagebus.lua ``` cb1:hello cb2:world cb2:abc ``` ## 参考 [lua-eventbus](https://github.com/prabirshrestha/lua-eventbus)