Infelizmente, você não pode.
TL; DR
A função sendto
retorna assim que o pacote é enviado para a pilha IP. A pilha IP do kernel irá processá-lo e tentará enviar o pacote através da sua interface WiFi.
Aqui está o problema, o atraso de transmissão WiFi é longo (em comparação com Ethernet com fio) e irregular. Aqui está um exemplo de qual latência você deve esperar:
Estegráficologarítmicomostraoatrasodotempodepingentremeuservidoremeuroteadoreentremeuservidoreumclientesemfio.Comoping
ébidirecional,alatênciaunidirecionaléprovavelmentecercademetadedisso.
Acomunicaçãocomfiomostraumtempodepingemtornode300us,enquantooslinkssemfiomostramumamédiade7ms(23vezesmaisatraso).
Agoraquaseomesmográfico,destavezlinearparadestacarairregularidade:
OtempodepingdoWifivariaentre6e45ms.
Soluções?
Comoafunçãosendto
retornamaiscedodoqueoesperado,nãoépossívelmediremquetempoospacotessãoenviados.Sevocêestiverrealmenteinteressadonomomentoemqueopacoteéenviado,provavelmentepoderáestimarissoaguardandoumarespostadoclienteediminuindootempodeidaevolta.
Mas,comovocêjádescobriu,,todososclientesWiFirecebemopacoteaomesmotempo,jáqueéummulticast.
Então,averdadeiraquestãoaquié:Oquevocêestátentandoalcançar?
Porexemplo,sevocêquiserquetodososseusclientesreproduzamomesmofluxodeáudioaomesmotempo,algumtipodesoftware
Se você quiser minimizar o atraso, o WiFi ainda poderá tentar ajustar suas configurações de Wi-Fi, especialmente aquelas relacionadas à economia de energia, no roteador e nos clientes.
E se você quiser obter algum desempenho em tempo real , provavelmente deve esquecer o WiFi.