Skip to content

The Multiple-Language extension plugin for Protocol access

License

Notifications You must be signed in to change notification settings

emqx/emqx-exproto

Repository files navigation

emqx-exproto

The emqx_exproto extremly enhance the extensibility for EMQ X. It allow using an others programming language to replace the protocol handling layer in EMQ X Broker.

Feature

  • Support Python, Java.
  • Support the tcp, ssl, udp, dtls socket.
  • Provide the PUB/SUB interface to others language.

We temporarily no plans to support other languages. Plaease open a issue if you have to use other programming languages.

Architecture

EMQ X ExProto Arch

Drivers

Python

Requirements:

  • It requires the emqx hosted machine has Python3 Runtimes
  • An executable commands in your shell, i,g: python3 or python

Examples:

See example/main.python

Java

See example/Main.java

SDK

The SDK encloses the underlying obscure data types and function interfaces. It only provides a convenience for development, it is not required.

See sdk/README.md

Benchmark

Work in progress...

Known Issues or TODOs

  • Configurable Log System.
    • The Java driver can not redirect the stderr stream to erlang vm on Windows platform

Reference