我在閃存中創建了網絡故障排除工具。該設計將具有屏幕上的所有組件。我必須在一分鐘內對每個組件進行一次ping。我完成了設計部分。我需要用閃光燈或動作ping到網絡
請別人幫我如何在flash中ping一個web地址或IP。
我需要一個示例代碼..我使用Flash CS3
我在閃存中創建了網絡故障排除工具。該設計將具有屏幕上的所有組件。我必須在一分鐘內對每個組件進行一次ping。我完成了設計部分。我需要用閃光燈或動作ping到網絡
請別人幫我如何在flash中ping一個web地址或IP。
我需要一個示例代碼..我使用Flash CS3
你是什麼意思,你有屏幕上的所有組件,你必須在一分鐘內ping每個組件?
如果平安你的意思是一個應用程序,什麼檢查URL的時間響應,那麼你可以嘗試使用此代碼玩:
var ldr:URLLoader = new URLLoader();
ldr.addEventListener(HTTPStatusEvent.HTTP_STATUS, ldrStatus);
var url:String = "URL-TO-SITE";
var limit:int = 10;
var time_start:Number;
var time_stop:Number;
var times:int;
ping();
function ping():void
{
trace("pinging", url);
times = 0;
doThePing();
}
function doThePing():void
{
time_start = getTimer();
ldr.load(new URLRequest(url));
}
function ldrStatus(evt:*):void
{
if(evt.status == 200)
{
time_stop = getTimer();
trace("got response in", time_stop - time_start, "ms");
}
times++;
if(times < limit) doThePing();
}
這沒什麼特別,URLLoader
嘗試加載url,並收聽響應。如果status
是200
,那麼獲得了成功的「ping」。或者乒乓球。
另一方面,您可以隨時運行服務器端的ping程序,並使用flash進行控制。
如果您的意思是一個應用程序,例如上傳下載速度測試程序,它也是以類似的方式開始,而不是以Loader對象開始。
希望這會有所幫助。
編輯:
防止緩存出現了問題,你可以使用:
ldr.load(new URLRequest(url + "?rnd="+Math.random()));
現在,此頁可能不會給回一個網站的具體內容,但可能不夠好,估計響應時間。用閃光燈。
總的來說,這可以清除緩存並每次加載站點以獲得更好的結果。
總之,你不能。
更長時間:您將無法ping通,因爲ping實際上是一個ICMP數據包,我不相信Flash可以發送這些數據。如果您嘗試ping機器上運行某些UDP或TCP服務,並且機器正在運行socket policy server,那麼您將能夠使用Socket類直接連接到該服務(可能會像一個ping)。
如何緩存?瀏覽器可能只是第二次提供緩存響應。 – alxx 2011-05-06 08:32:43
+1:太棒了。 – anemgyenge 2011-05-06 08:37:24
@anemgyenge:組件意味着各種交換機,路由器的圖片..如果它們連接鬆動,它們將開始閃爍紅色 – 2011-05-06 09:55:58