69,373
社区成员
发帖
与我相关
我的任务
分享
int total_delay = 1000 - tsend*N;
int one_delay = total_delay/N; // 平均每个包的延迟
for (int i = 0; i < N; i++)
{
int delay = 0;
if (total_delay > 0)
{
delay = (one_delay + random()%one_delay)/10*10; // 假设这个随机函数可以返回负值
if (delay > total_delay)
delay = total_delay;
total_delay -= delay;
}
if (i == N -1) // 如果是最后一个packet,用完所有的延迟
delay += total_delay;
sleep(delay);
send_packet();
}
int total_delay = 1000 - tsend*N;
int one_delay = total_delay/N;
for (int i = 0; i < N; i++)
{
int delay = 0;
if (total_delay > 0)
{
delay = (one_delay + random()%one_delay)/10*10; // 假设这个随机函数可以返回负值
if (delay > total_delay)
delay = total_delay;
total_delay -= delay;
}
if (i == N -1) // 如果是最后一个packet,用完所有的延迟
delay = total_delay;
sleep(delay);
send_packet();
}