Between hosts

Three things cross between hosts: a bundle of data, a program, and a running machine.

A bundle of data

Any OSC tool can send one to a host’s port. The command line receives on a UDP port it binds; this line waits for one packet, prints its payload and exits:

./o.se -f o.se.osen/osen.ose '/,/s/0.0.0.0' '/,/i/7788' '/!/udp/sock/bind' \
    '/!/udp/recv' '/!/drop' '/!/println' '/!/quit'

The board listens on UDP 8888 and answers whoever sent to it; the Python host’s examples/udp.py --serve 7777 is a responder to try against.

A program

Source, or already parsed: the parsed form needs only a machine at the far end, the source needs osen there too and is smaller on the wire.

A running machine

("host:port") /continue/at moves the running program to that address; the rest of it runs on the far side, and a name it bound before the move is still bound after it. Move a program between two shells shows it.

Transports

From → to

from \ to command line Max browser board Python
command line machine program machine, via the bridge machine program
Max program program program, via the bridge program program
browser machine, via the bridge program, via the bridge — machine, via the bridge program, via the bridge
board machine program machine, via the bridge machine program
Python program program program program program
any OSC tool data data data, via the bridge data data

machine: a running machine crosses and continues; program: a bundle that runs at the far end; data: a bundle arrives as data; —: no transport both ends share.

Recipes


Overview · The hosts · Examples