Чего я хочу добиться, так это вывода данных через сокет со стабильной скоростью, например 600 КБ/с. Поскольку TCP имеет собственное управление потоком, я выбираю UDP.
Вот и возникает вопрос: как этого добиться? Могу ли я просто отправить один пакет размером 600 КБ в минуту? А как контролировать временной интервал между двумя пакетами? Могу ли я просто установить временной интервал с помощью select():
select(fd, NULL, NULL, NULL, &tv); //tv is set as 1 second
Я сомневаюсь в этом, потому что sendto() сокета выполняется на уровне приложения, и мы не может гарантировать, что пакет был отправлен ядром ОС.
Как это решить? Или есть лучший способ?
PS:Язык C