# 多语言支持

从 4.1 开始,EMQ X 提供了专门的多语言支持。它允许用户使用 Python, Java 等编程语言来处理 EMQ X 的 钩子(Hooks) 事件,或解析私有的 TCP/UDP 协议,使得这类设备可以接入到 EMQ X 系统。

# 钩子扩展

多语言的 钩子扩展emqx-extension-hook (opens new window) 插件进行支持。该插件在 4.1.0 中首次引入。它允许用户使用其它编程语言处理 EMQ X 的 钩子(Hooks)。例如:

  • 校验某客户端的登录权限。
  • 校验某客户端 PUB/SUB 的操作权限。
  • 处理消息类事件,并消息桥接、转发或存储到其它的系统。

见:多语言 - 钩子扩展

# 协议接入

多语言的 协议接入 处理由 emqx-exproto (opens new window) 插件进行支持。该插件在 4.2.0 中首次引入。它允许用户使用其它的编程语言实现私有的,自定义的协议接入。例如:

  • 可接收基于 TCP/UDP/TLS/DTLS 及 PSK 的终端连接。
  • 允许 Python, Java 代码侧订阅主题,或发布消息到 EMQ X 系统。

见:多语言 - 协议接入

# 历史性遗留

在 EMQ X 4.1 之前,仅包函对 Lua 的支持,它由 emqx-lun-hook (opens new window) 实现。该插件仅支持对系统钩子的处理,不支持协议接入的处理。

见:多语言 - Lua