This is the tenth post in the WCF 4.5 series. I’ve started this series of posts 4 months ago when .NET 4.5 developer preview was announced; The Beta/RC/RTM version is still to come, but hopefully it will be available soon, and you will be able to use the new WCF 4.5 features in your projects. Until now, I’ve shown new features in configuration easiness and hosting improvements. In this post and the next one I will cover new transport features, starting with the support for UDP transport.
(backed up by wikipedia: Protocols such as UDP provide no recovery for lost packets. Applications that use UDP are expected to define their own mechanisms for handling packet loss.)
Regarding to how WCF handles this situation I don't know, but I will try to find out.
For instance, let's pretend I'm going to multicast a file to several clients, I might send a checksum first so that the applications can check that the download completely successfully and request retransmission if it doesn't match. As a trade-off, I might send an expected content-length and send the file in chunks so that if I need to retransmit I only need to retransmit that chunk, rather than the whole file. This avoids the amount of overhead present in TCP, but still provides some failure recovery.
I was curious if WCF implements any sort of similar mechanism to detect transmission errors. Thanks for looking into it.
My assumption is if there is a packet loss your service will have some sort of an encoder/serializer internal exception.