Receive and dispatch one OSC message. Blocking by default, unless
timeout is specified.

Parameters:

timeout – Time in milliseconds after which the function returns if no
messages have been received.
timeout may be 0, in which case the function always returns
immediately, whether messages have been received or not.

Unlike Server, ServerThread uses its own thread which
runs in the background to dispatch messages.
ServerThread has the same methods as Server, with the
exception of Server.recv(). Instead, it defines two additional
methods start() and stop().

Note

Because liblo creates its own thread to receive and dispatch
messages, callback functions will not be run in the main Python
thread!

Create a new ServerThread object, which can receive OSC messages.
Unlike Server, ServerThread uses its own thread which
runs in the background to dispatch messages. Note that callback methods
will not be run in the main Python thread!

Parameters:

port – a decimal port number or a UNIX socket path. If omitted, an
arbitrary free UDP port will be used.

When constructing a message, pyliblo automatically converts
arguments to an appropriate OSC data type.
To explicitly specify the OSC data type to be transmitted, pass a
(typetag,data) tuple instead. Some types can’t be unambiguously
recognized, so they can only be sent that way.

The mapping between OSC and Python data types is shown in the following table: