Я пишу интерактивное видео приложение для редактирования, которое использует Quartz Composer в качестве видеопроцессора реального времени.Время и синхронизация очень важны в моем приложении.
Мое первое приложение, написанное на C ++, должно отправлять такие команды, как «воспроизведение» по этому «пути», «этот файл видео», «запуск» в это «время», «остановка» и т. Д. Для этого сокеты udp работают просто отлично.,Я использую один сокет для каждой команды, поэтому порядок команд никогда не нарушается, такая вещь будет фатальной!
Реальная проблема заключается в том, что мой Quartz Composer Patch начинает посылать текущее время моему второму приложению, которое будет контролировать полосу моей временной шкалы, чтобы у пользователя было графическое представление фактического продвижения видео в сокетах Udp.просто недостаточно быстры и отправляют пакеты в другом порядке или дублируют.
Я думал, что домен сокетов Unix мог бы помочь мне, но когда я посмотрел все примеры, которые я нашел в сети, где они написаны на C, а не на objCа плагины для Quartz Composer могут быть закодированы только в objC. Я знаю, что мог бы самостоятельно обернуть код C, но перед тем, как приступить к этой простой задаче, как быть уверенным, что сокет Unix - это то, что мне нужно?
Действительно ли сокет Unix достаточно быстрый и надежный для того, что я пытаюсь сделать?
Есть ли другой способ, который вы знаете для процесса синхронизации в objC? Я смотрю каналы, разделяемую память, но мне не ясно, как реализовать это в моем плагине.