我有用C编写的udp服务器 - 客户端应用程序。在客户端,使用recvfrom函数和数据包序列号检测数据包丢失。我现在如何在客户端模拟丢弃的数据包,例如,如果服务器发送1000个数据包,我想丢弃20%的数据包?我想在代码中执行此操作,而不是使用ip表或类似的东西。还有一件事,我的客户很少,我希望他们可以丢弃不同的数据包,而不是相同的数据包。
while(1){
nbytes = recvfrom(socket, buffer, MAX_SIZE, 0, (struct sockaddr *) &srv_addr, &addrlen);
if (nbytes != -1) {
// packet is received
}else{
//packet is not received
}
}