I created a socket using: socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP).
According to this, if I send simple packet several times (multiply send() and/or sendto()), I can get ECONNREFUSED. ICMP should tell that previous packet didn't arrive and ECONNREFUSED should appear. But it fails, errno doesn't report about any errors, and send() always returns number of bytes sent.
UDP protocol actually shouldn't tell that packet was sent. But ICMP can give advice as I understand.
So, the question is - why does it fail to receive ECONNREFUSED?
Everything is done using Winsock.