Por "perda de buffer", suponho que você quer dizer perdas causadas pelo buffer estar cheio. (As perdas de UDP na rede só podem ser detectadas projetando um algoritmo de nível de sessão para rastrear e confirmar o recebimento de todos os pacotes.)
As perdas de buffer de saída serão informadas no nível da API de soquete por retornos de erros de sendto () (ou seu equivalente), como WSAENOBUFS
, WSAEWOULDBLOCK
ou WSAEMSGSIZE
.
Tanto quanto sei, as perdas recebidas não são explicitamente relatadas em nenhum lugar. No entanto, você pode usar ioctl(FIONREAD)
para determinar quantos dados estão no buffer de entrada. Se estiver quase cheio e você estiver detectando perdas, é seguro apostar que essas perdas são o resultado do estouro de buffer.