2011-01-27 75 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

相關問題