UDP — протокол _без_ установления соединения и более того — не точка-точка. В нем есть мультикаст. Поэтому принимающий конец тут "отвалиться" не может. Может быть ошибка при фрагментации пакета либо ошибка отсутствия порта. Всё. Но они не входят в сам UDP — это ICMP сообщения. И второе — у меня довольно сильные сомнения, что send, положим, возвратит ошибку при отправке на несуществующий порт. Точнее, уверенность, что не возвратит. Я так сам делаю в реализации traceroute. Т.о. для того, чтобы отловить такую ситуацию — надо принимать ICMP сообщения, что и делается в traceroute. А это требует raw сокетов и админа под NT-2000. И пользуясь только UDP сокетом никак не узнать на уровне UDP, получил ли удаленный хост наше послание.
SCS>есть случай, когда по коммутируемому соединению "точка-точка" проводится попытка передать дейтаграмму, но принимающий конец отвалился — winsock выдаст ошибку WSAESHUTDOWN, WSAECONNRESET и т.п.
Это все применимо к TCP.