Even this feature still exists in the initial Ventuz 4 release it is subjected to be changed or removed entirely! It will replaced by an alternative, more sophisticated technology in that case.
A Ventuz system (or machine) can broadcast its signature across the network to help control software finding other machines. If enabled in the Machine Configuration, an OSC Bundle is send periodically to the specified multicast IP address. All systems which are able to receive such UDP multicast packets can receive these bundles to find all Ventuz machines.
The OSC Bundle contains one single OSC Element:
OSC Address | /VENTUZ/MachineID |
default IP addr | Multicast 225.225.225.1 |
default IP port | 19299 |
default interval | 2 seconds |
All the used commication ip's and ports are listed here.
with these arguments:
Arg Index | OSC Type | .NET Type | Description |
---|---|---|---|
0 | i | Int32 | Signature Version (1) |
1 | s | String | Machine Name (no Unicode support in OSC) |
2 | i | Int32 | Group ID |
3 | i | Int32 | Machine ID |
4 | T F | Boolean | True: Ventuz Designer False: Ventuz Presenter/Runtime |
5 | i | Int32 | CLI Remoting IP port number, 0 if disabled |
6 | i | Int32 | .net Remoting IP port number, 0 if disabled |
7 | i | Int32 | Miranda/Vertigo Remoting IP port number, 0 if disabled |
8 | i | Int32 | OSC Remoting IP port number, 0 if disabled |
9 | i | Int32 | Number of IP addresses following from argument 10 |
10+ | s | String | IP Address of the Ventuz Machine |
You can either use your own OSC implementation to receive the bundle or the Ventuz OSC SDK. Another more comfortable way is to use the Ventuz Machine Signatur Receiver .net component.
This component is part of the Ventuz.Kernel.Remoting.dll and is quite easy to handle. Simply add the dll to the toolbox of your Visual Studio and use the component on your Windows Form.
class Ventuz.Kernel.Remoting.MachineSignaturReceiver : Component, IDisposable, ISupportInitialize
The component continuously listens to the default UDP multicast address and port for any Ventuz Machine Signatures. All received signatures are stored in an internal cache and the user gets notified if a new signature has been received. If a certain signature has not been received for more than 5 seconds, it gets removed from the cache. The MachineSignaturReceiver provides two events for these notifications: SignatureReceived and SignatureExpired.
The actual machine signature is managed by the MachineSignatur class which offers simple read-only properties to access the data.
The current version always listens to the default OSC settings (see above) and has a fixed expiry timeout of 5 seconds.
The MachineSignaturReceiver implements the standard ISupportInitialize interface. The two methods BeginInit and EndInit must be called if the component is not used via the visual designer of the Visual Studio!