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
success
is always required, and ifsuccess == False
, only an entryerror
needs to be present.The entry
busy
might be set toTrue
if 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 action
s, please see the developer documentation of the corresponding applications.