Platform Dependent Networking Quirks
Waltz runs across several different operating systems that can be boiled down to two types: Windows and *nix. macOS, Solaris, Linux, and Unix are all *nix-based operating systems and share common parts of their networking stack with each other. Windows has its own network stack that sometimes diverges from the standard *nix network stacks. Those deviations are documented here.
Receiving UDP Broadcasts
On Windows-based systems, UDP broadcasts can be filtered by a specific network interface by assigning the localInterface of a node to a specific network interface. You can also use the wildcard interface (LocalInterface("0.0.0.0")
) to listen to broadcast messages being received by any and all network interfaces simultaneously.
On traditional *nix-based systems, you don't receive broadcast messages to any specific network interface, only to the wildcard interface (LocalInterface("0.0.0.0")
). This is the designed behavior for UDP sockets since BSD, from which *nix is derived. The result of this implementation difference is that when shows are being moved between Windows and *nix based machines, there is a variation in behavior with the same show file. To avoid this, use the wildcard interface (LocalInterface("0.0.0.0")
) if you are using a *nix-based system, or will be moving your show between Windows and *nix-based systems.
This is only an issue with nodes that are based on receiving UDP broadcast data, including the ArtNet Input Node and UDP Input Node.