Machine Signature

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

Machine Signature Receiver .net Component

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!