UDPTransport is a specialized transport used to discover avaialble services in a local network or to notify other instances of applications, which run on different computers.
UDPTransport is a descendant of BaseTransport that transfers messages between computers using unreliable UDP protocol. UDPTransport can act in client, server or peer-to-peer modes (use TransportMode property to specify the mode).
UDPTransport supports broadcast message delivery (using destination IP address set to 255.255.255.255). Thus, the message size is limited by 512 bytes (and remember that this limit doesn't count for internal data transferred with each message). Note, that as CBFS IPC is based on a peer-to-peer concept, broadcast messages are usually sent using a call to Messenger.PostMessage. Of course, the broadcast message can be sent using one of SendMessage* function, but only the first reply will be handled.
Message size limitation and use of unreliable protocol make UDPTransport useable mainly for discovery and notification of servers or other instances of the application, which work on other computers in local network.
UDPTransport doesn't create separate threads for each remote host but instead uses a receiver (in stmServer and stmP2P modes) and sender (in stmClient and stmP2P) threads which process messages one by one. Also, due to UDP specifics UDPTransport only sends the message once and the recipient is supposed to be running at the time of delivery.
Message address for UDPTransport looks like
Inherited from BaseTransport