Personal tools
The Open Lighting Project has moved!

We've launched our new site at This wiki will remain and be updated with more technical information.

RPC Protocol


Revision as of 09:53, 3 March 2014 by Nomis52 (talk | contribs)
Jump to: navigation, search

A common question that comes up is "How can I communicate with olad using something other than C++, Python or Java?".


OLA is a client / server architecture. The clients and the server (olad) communicate over a TCP socket. By default olad listens on localhost:9010. Data passed between the client and the server is serialized using Protocol Buffers. The overview and data encoding pages describe the specifics of the serialization process.

To write a new client at the very least you need an implementation of protocol buffers for your language. Luckily there is widespread support for protocol buffers in many languages.

Simple Example

From common/rpc/Rpc.proto,

message RpcMessage {
  required Type type = 1;
  optional uint32 id = 2;
  optional string name = 3;
  optional bytes buffer = 4;