2011-01-27 78 views
1

我正在研究一个涉及使用30个imacs的实验室的艺术/编程项目。我想以某种方式同步它们,这样我就可以在同一时间对它们执行脚本。多个联网计算机上的同步定时器

最终产品是在Flash播放器中,但是如果我能够通过网页同步一种类型的数据信号,我就能够同时运行脚本。到目前为止,我的尝试都有致命的缺陷。

我使用的网络有所限制。我没有管理员权限,但我认为这不重要。我登录到所有30个imacs的用户帐户,运行页面或脚本,以便我可以运行我的商品。

我的第一次尝试是直接运行Flash播放器。 起初,我尝试使用系统时间并让脚本每两分钟运行一次。这是不可靠的,因为即使我的用户帐户中的时间同步,imacs之间也存在差异。即使是四分之一秒也是如此。 我的下一次尝试涉及到有一个mac充当将变量写入文本文件的主机。所有其他29个闪存播放器每秒多次检查此文件中的更改。这没有奏效。它可以与3或4台电脑一起工作,但会很脆弱。服务器上的压力太大,闪存不可靠。我想我会尝试使用本地共享对象,但这不可靠。我试图让主机写入30个文件,并让每个mac只读一个,但那也不起作用。我尝试使用本地连接,但它不是为超过两台电脑。

我的下一次尝试涉及在我的Web服务器上运行php服务器时间脚本,并让30台计算机检查该文件的时间将近30秒。我不认为我的托管计划支持这一点,因为服务器会在几秒钟后停止工作。太多的请求或东西。 虽然我还没有成功与远程服务器,它可能会更可靠的另一个聪明的方法。

我确实有一个kludge解决方案作为最后一根稻草(你可能会笑):我会拿一根音频线并购买29个音频分配器并将它们全部插入。然后我会在本地运行flash播放器,它听到一个声音。我以前做过这个。您只需触摸导线的另一端,手指静止就足以将其关闭。

我现在可以做什么?我一直在做这个项目一年和一年,只是想让它走。如果我可以在实验室中的30台计算机上同步网页,我可以将数据传递给闪存,并且可能会工作。我对远程服务器更有信心,但是如果我可以使用本地mac网络来完成,那就太好了。

+0

因此所有30台机器都在本地专用网络上吗?你如何运行脚本?是通过计时器还是通过手动命令?似乎你需要套接字连接。 – kjy112 2011-01-27 02:29:12

+0

是这30个imacs是一个更大的lan的一部分。 我试过很多方法。我已经尝试了定时器和手动命令。我的方法都没有工作。理想情况下,它应该从手动命令运行。这些脚本在flash中的actionscript中运行。对于php服务器方法,我把swf上传到web服务器,它会使用actionscript与php进行交互(阅读它)。 至少,代码将单独运行,然后同时将数据发送到闪存以知道启动。 – northamerican 2011-01-27 02:42:39

回答

1

好吧,这里是我如何处理我的问题使用套接字连接与Flash和PHP。基本上,首先你需要设置一个客户端脚本,它将被安装在所有30个imac'客户'机器上。让我们假设所有的机器都在专用网络上。当这些客户端被激活时,他们通过使用套接字连接到服务器(php)。 php服务器脚本将具有这些客户端连接到的ip和端口,处理客户端连接池,消息路由等,并且服务器将始终运行。套接字连接通过来回发送消息来实现服务器与客户端的交互,并且这些消息可以触发事件。您应该更多地了解套接字连接/服务器客户端交互。这只是我如何完成项目的一个小结。

Simple tutorial on socket/server client connection using php and flash

相关问题