If your all your User Interfaces and MIDI File Players can connect to the Controller, then you don't need to read this section.
All clients of the Controller need to know what the Controller's IOR is. An IOR is the address of a CORBA service, and contains the server's IP address, port number and other details. An IOR looks like this:
IOR:000000000000001949444c3a646f6f72732f436f6e74726f6c6c65723a3 12e300000000000000001000000000000005c000101000000000f3137322e31 362e3232342e3235300000056d000000000019afabcaff00000002e3b9c2a50 000000800000000000000000100000000000001000000010000001400000000 00010020000000000001010000000000 |
The client knows how to decode this and use it to obtain a reference to the Controller.
All Controller clients can use any of the following methods to get the Controller's IOR:
Broadcast a Request
This is the default method and requires no user intervention. The client sends a packet to IP address 255.255.255.255, port 17125, so that all machines (within this broadcast range) get the request. The Controller is listening on port 17125 and replies with it's IOR when it receives the request.
This works well until the Controller is at the other side of a switch/router which doesn't forward broadcast packets. In this case, the Controller will never receive the request packet. You must use one of the two follwing methods instead.
Specify the IP Address
You specify the Controller's IP address when launching the client (via the --ip flag). The client sends a packet to this IP address, port 17125. This is *not* a broadcast packet, so the routers happily forward it. The Controller recieves the request and replies with the IOR.
Specify the URL of the IOR
You start the Controller with the --write-ior flag, which writes the IOR to a file you specify. You then make this file public via HTTP, NFS, SMB, FTP etc. You launch the client with the --ior-url flag. The client reads the IOR from the URL and connects to the Controller.