синхронизированный таймер на нескольких сетевых компьютерах - PullRequest
1 голос
/ 27 января 2011

Я работаю над проектом по искусству / программированию, который включает использование лаборатории из 30 изображений.я хочу синхронизировать их таким образом, чтобы я мог одновременно выполнять сценарий для каждого из них.

конечный продукт находится во флэш-плеере, но если мне удастся синхронизировать тип сигнала данных через веб-страницу, я смогу запустить сценарий одновременно.до сих пор все мои попытки имели роковые недостатки.

сеть, которой я пользуюсь, несколько ограничена.У меня нет прав администратора, но я не думаю, что это действительно важно.я захожу в свою учетную запись на всех 30 картинках, запускаю страницу или скрипт, чтобы я мог запускать свои товары.

мои первые попытки были связаны с непосредственным запуском flash player.Сначала я попытался использовать системное время и запускать скрипт каждые две минуты.это было ненадежно, потому что, хотя время в моей учетной записи пользователя синхронизировано, существует несоответствие между изображениями.четверть секунды - это слишком много.моя следующая попытка состояла в том, чтобы в качестве хоста выступил один mac, который записывает переменную в текстовый файл.все остальные 29 флэш-плееров проверяются на наличие изменений в этом файле несколько раз в секунду.это не сработало.он будет работать с 3 или 4 компьютерами, но тогда будет нестабильным.нагрузка на сервер была слишком велика, а флеш просто ненадежен.Я подумал, что попробую использовать локальные общие объекты, но это ненадежно.Я попытался заставить главный компьютер записать 30 файлов, и каждый Mac считал только один, но это тоже не сработало.я попытался использовать локальное соединение, но оно не было сделано для более чем двух компьютеров.

моя следующая попытка включала запуск сценария времени php-сервера на моем веб-сервере, и 30 компьютеров проверяли время этих файлов почти 30секунд.Я не думаю, что мои планы хостинга поддерживают это, потому что сервер просто перестанет работать через несколько секунд.слишком много запросов или что-то в этом роде.хотя у меня не было успеха с удаленным сервером, он, вероятно, будет более надежным с другим умным методом.

У меня есть одно решение kludge в качестве последней капли (вы можете смеяться): я бы взял аудиоподключите и купите 29 аудио-сплиттеров и подключите их все. Затем я запускаю флеш-плеер локально и запускаю его, когда слышит звук.Я делал это раньше.все, что вам нужно сделать, это прикоснуться к другому концу провода, и статический палец достаточно, чтобы отключить его.

что я могу сделать сейчас?Я работаю над этим проектом в течение года и просто хочу, чтобы он был запущен.Если бы я мог синхронизировать веб-страницу на 30 компьютерах в лаборатории, я мог бы просто передать данные на флэш-память, и это, вероятно, сработало бы.Я более уверен с удаленным сервером, но если я смогу сделать это с помощью локальной сети Mac, это было бы здорово.

1 Ответ

1 голос
/ 27 января 2011

Хорошо, вот как я подошел к своей проблеме, используя сокетное соединение с flash и php.По сути, сначала вы устанавливаете клиентский скрипт, который должен быть установлен на всех 30 клиентских компьютерах imac.давайте предположим, что все машины находятся в частной сети.Когда эти клиенты активированы, они подключаются к серверу (php) с помощью сокета.Сценарий сервера php будет иметь ip и порт, к которому подключаются эти клиенты, обрабатывает пул клиентских подключений, маршрутизацию сообщений и т. Д., И сервер будет работать постоянно.Соединение через сокет позволяет взаимодействовать между сервером и клиентом, отправляя сообщения туда и обратно, и эти сообщения могут инициировать действия.Вы должны прочитать больше о сокет соединения / взаимодействия с сервером клиента.Это лишь краткое изложение того, как я выполнил свой проект.

Простое руководство по подключению к сокету / серверу с использованием php и flash

...