Communication protocol¶
The server and its clients use a certain protocol for their communication.
Network¶
The communication is handled with ZeroMQ (zmq, https://zeromq.org) via port 11657 (TCP).
Message format¶
Multipart message with 4 frames: [ID, empty, action, data].
All components are of type string.
The last component data needs to be formatted as a JSON string with specified entries.
General entries in data¶
Client → Server:
Empty data can be specified by
"{}".
Server → Client:
The entry
successis always required, and ifsuccess == False, only an entryerrorneeds to be present.The entry
busymight be set toTrueif the server is busy at the moment. In this case, no other entries are available in the data (exceptsuccess). The client should retry the request after waiting a while. If the server is not busy, it sends the data described in the table below back to the client.
Actions¶
For specific actions, please see the developer documentation of the corresponding applications.