【问题标题】:How to display ping information of a server on the stage in AS3AS3如何在舞台上显示服务器的ping信息
【发布时间】:2013-08-15 17:15:13
【问题描述】:

所以我有一个 ping 服务器的代码,但它会跟踪信息。我想改变它,并使用动态文本在舞台上显示该 ping 信息。我该怎么做?这是我的代码:

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();
}

【问题讨论】:

    标签: actionscript-3 flash ping stage dynamic-text


    【解决方案1】:

    成功了,我只是在舞台上做了一个文本框叫textBox,并在最后添加了一些代码。

    var ldr:URLLoader = new URLLoader();
    ldr.addEventListener(HTTPStatusEvent.HTTP_STATUS, ldrStatus);
    
    var url:String = "http://google.com.net";
    var limit:int = 10;
    
    var time_start:Number;
    var time_stop:Number;
    var times:int;
    
    ping();
    
    function ping():void
    {
        trace("pinging", url);
    
        times = 1;
        doThePing();
    }
    
    function doThePing():void
    {
        time_start = getTimer();
        ldr.load(new URLRequest(url));
    }
    
    function ldrStatus(evt:*):void
    {
        if(evt.status == 200)
        {
            time_stop = getTimer();
            textBox.text = String("got response in", time_stop - time_start, "ms");
        }
    
    
    }
    

    【讨论】:

      【解决方案2】:

      我不确定这是否是您所要求的,但如果您想显示现在正在跟踪的信息,您必须在舞台上有一个文本字段,或者动态创建一个。你可以这样做,你想创建一个文本字段:

      import flash.text.TextField;
      
      function ldrStatus(evt:*):void{
      
          if(evt.status == 200)
          {
              time_stop = getTimer();
              trace("got response in", time_stop - time_start, "ms");
      
              var tf:TextField = new TextField();
              addChild(tf);
              tf.text = "got response in"+ (time_stop - time_start) + "ms";
          }
      
          times++;
          if(times < limit) doThePing();
      }
      

      【讨论】:

      • 只需将 ldrStatus() 函数替换为您自己的。
      • 我换了,还是不行:(我有ping的信息,但我只想在舞台上的动态文本框中显示该信息。
      • 我只是想在动态文本框中显示跟踪
      • 我认为 Michell 的代码没有问题:如果您告诉我们您看到的错误可能会有所帮助。
      • 你得到跟踪了吗?如果是这样,您应该会在左上角看到一个带有消息的文本字段。
      猜你喜欢
      • 2013-11-25
      • 2010-10-23
      • 2016-06-23
      • 2016-09-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-11
      • 1970-01-01
      相关资源
      最近更新 更多