Цитата(XVR @ Sep 9 2011, 11:39)

А это зависит от параметров вашей сети и требований на задержки при передаче данных.
Возможно их понадобится раза в 2 больше

Ну я предполагал два буфера - в один идет прием, с другого выдача в ЦАП.
Цитата
Или придется делать весьма нетривиальные алгоритмы по перераспределению буферов в процессе приема/выдачи на ЦАП.
Кроме того, надо предусмотреть управление скоростью потока передаваемых данных - она должна строго совпадать с скоростью выдачи данных на ЦАП.
В общем задача не простая

Тут не очень понятно. Я предполагал так:
- скорость приема больше скорости выдачи в ЦАП
- принимаем с LAN в один буфер, и останавливаемся по его заполнению.
- со второго буфера выдаем в ЦАП.
- когда все выдали, переключаемся на выдачу с первого буфера
- прием с LAN преключаем на второй буфер и начинем прием до его заполнения.
- и так по кругу.
Если требуется какая-то обработка, то понадобится 3 буфера: в первый принимаем, по заполнению переписываем с обработкой во второй, из третьего выдаем в ЦАП. Потом 2-й и 3-й меняются местами.
Т.е. 1-й буфер понадобится размером с "сырые данные" (до исправления), 2-й и 3-й - размером с "чистые данные".
Гнать в ЦАП можно без участия CPU - по DMA, с автосменой буферов (LLI) и прерыванием по их смене.
Или сервер будет тупо передавать пакеты, невзирая на клиента, и его не "поставить на паузу" ?
Я как уже говорил, мало понимаю в TCP/IP, но мне казалось там есть какое-то подобия квитирования.