Я работаю в симуляции надежности сети, мне нужно симулировать отбрасывание пакетов на основе процента качества обслуживания.В настоящее время у меня есть DLL, которая подключается к send
, sendto
, recv
и recvfrom
.Затем мои перехватчики «отбрасывают» пакеты в зависимости от качества обслуживания.
Мне просто нужно применить перехват для пакетов UDP, а не мешать TCP (TCP используется для удаленной отладки).
Есть ли способ, которым я могу запросить WinSock для протокола, с которым связан сокет?
int WSAAPI HookedSend(SOCKET s, const char FAR * buf, int len, int flags)
{
//if(s is UDP)
//Drop according to QOS
else
//Send TCP packets undisturbed
return send(s, buf, len, flags);
}