js模拟ping程序(计算机网络ping程序实现)

本文目录一览:

使用jquery插件测试url链接是否有效及js ping url

要用的需要明白代码及自己改些地方

(function($) {

$.fn.ping = function(options) {

var opts = $.extend({}, $.fn.ping.defaults, options);

var stime = new Date().getTime();

return this.each(function() {

var ping, requestTime, responseTime ;

var target = $(this);

function ping(){

node.js怎么调用ping

let ping = require(‘child_process’).spawn(‘ping’,[‘127.0.0.1’]);

let iconv = require(‘iconv-lite’);

ping.stdout.on(‘data’,data={

    let str = iconv.decode(data,’cp936′);

    console.log(str);

})

ping.stderr.on(‘data’,data={

    console.log(data);

})

ping.on(‘close’,code={

    console.log(‘Ping 结束’)

})

//之前是通过exec 来调用,不过当时没有进行测试,想当然的认为是可以的,抱歉。

//以上引入iconv-lite 是为了解码中文

求一段JS代码,如果本域名主机下“/web/111.html”网页存在,则alert(“YES”),否则alert(“NO”)

使用jQuery模拟PING:

$.ping = function(option) {    var ping, requestTime, responseTime ;    var getUrl = function(url){    //保证url带http://        var strReg=”^((https|http)?://){1}”        var re=new RegExp(strReg);         return re.test(url)?url:”http://”+url;    }    $.ajax({        url: getUrl(option.url)+’/’+ (new Date()).getTime() + ‘.html’,  //设置一个空的ajax请求        type: ‘GET’,        dataType: ‘html’,        timeout: 10000,        beforeSend : function()         {            if(option.beforePing) option.beforePing();            requestTime = new Date().getTime();        },        complete : function()         {            responseTime = new Date().getTime();            ping = Math.abs(requestTime – responseTime);            if(option.afterPing) option.afterPing(ping);        }    });     if(option.interval  option.interval  0)    {        var interval = option.interval * 1000;        setTimeout(function(){$.ping(option)}, interval);//        option.interval = 0;        // 阻止多重循环//        setInterval(function(){$.ping(option)}, interval);    }};    

//栗子 HTML

div id=”msg”/div

$.ping({

    url : ”,

    beforePing : function(){$(‘#msg’).html(”)},

    afterPing : function(ping){$(‘#msg’).html(ping)},

    interval : 1

});

能否使用JavaScript来ping一个IP?

可以在javascript中ping一个ip地址:

以下是自定义的实现函数:

function Pinger_ping(ip, callback) {

if(!this.inUse) {

this.inUse = true;

this.callback = callback

this.ip = ip;

var _that = this;

this.img = new Image();

this.img.onload = function() {_that.good();};

this.img.onerror = function() {_that.good();};

this.start = new Date().getTime();

this.img.src = “http://” + ip;

this.timer = setTimeout(function() { _that.bad();}, 1500);

}

}

用法如下:

传入ip和callback参数:比如192.0.8.10 和 mycallBack

setTimeout的返回值就可以判断了。

js检测网站是否能打开

找到一个ping的代码

!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “”

html xmlns=””

head

meta http-equiv=”Content-Type” content=”text/html; charset=gb2312″ /

titleHTTP Ping/title

style

html {

height: 100%;

overflow: hidden;

}

body {

background: #000;

color: #C0C0C0;

font-weight: bold;

font-size: 14px;

font-family: Lucida Console;

height: 100%;

margin: 0 0 0 5px;

}

#divInput {

height: 10%;

}

#divContent {

height: 90%;

overflow: auto;

}

#txtTimeout {

width: 40px;

}

button {

margin-left: 10px;

}

/style

/head

body

div id=”divInput” spanURL:/span

    input id=”txtURL” type=”text” /

    spanTimeout:/span

    input id=”txtTimeout” type=”text” value=”2000″ /

    input id=”btnSwitch” type=”button” value=”Start” onclick=”handleBtnClick()” /

    hr/

/div

div id=”divContent”/div

script  

var intStartTime;   

var objIMG = new Image();   

  

  

objIMG.onload =   

objIMG.onerror =    

function()   

{   

    /*   

     * 有回应,取消超时计时   

     */   

    clearTimeout(intTimerID);   

  

    if(!bolIsRunning || bolIsTimeout)   

        return;   

  

    var delay = new Date() – intStartTime;   

  

    println(“Reply from ” +   

            strURL +   

            ” time” +   

            ((delay1)?(“1”):(“=”+delay)) +   

            “ms”);   

    arrDelays.push(delay);   

  

    /*   

     * 每次请求间隔限制在1秒以上   

     */   

    setTimeout(ping, delay1000?(1000-delay):1000);   

}   

  

function ping()   

{   

    /*   

     * 发送请求   

     */   

    intStartTime = +new Date();   

    intSent++;   

  

    objIMG.src = strURL + “/” + intStartTime;   

    bolIsTimeout = false;   

  

    /*   

     * 超时计时   

     */   

    intTimerID = setTimeout(timeout, intTimeout);   

}   

  

function timeout()   

{   

    if(!bolIsRunning)   

        return;   

  

    bolIsTimeout = true;   

    objIMG.src = “X:\\”;   

  

    println(“Request timed out.”);   

    ping();   

}   

/script 

script  

var $ = function(v){return document.getElementById(v)};   

  

var arrDelays = [];   

var intSent;   

  

var bolIsRunning = false;   

var bolIsTimeout;   

var strURL;   

var intTimeout;   

var intTimerID;   

  

var objBtn = $(“btnSwitch”);   

var objContent = $(“divContent”);   

var objTxtURL = $(“txtURL”);   

  

objTxtURL.value = window.location.host;   

  

function handleBtnClick()   

{   

    if(bolIsRunning)   

    {   

        /*   

         * 停止   

         */   

        var intRecv = arrDelays.length;   

        var intLost = intSent-intRecv;   

        var sum = 0;   

  

        for(var i=0; iintRecv; i++)   

            sum += arrDelays[i];   

  

        objBtn.value = “Start”;   

        bolIsRunning = false;   

  

        /*   

         * 统计结果   

         */   

        println(“ ”);   

        println(“Ping statistics for ” + strURL + “:”);   

        println(“Packets: Sent = ” +   

                intSent +   

                “, Received = ” +   

                intRecv +   

                “, Lost = ” +   

                intLost +   

                ” (” +   

                Math.floor(intLost / intSent * 100) +   

                “% loss),”);   

  

        if(intRecv == 0)   

            return;   

  

        println(“Approximate round trip times in milli-seconds:”);   

        println(“Minimum = ” +   

                Math.min.apply(this, arrDelays) +   

                “ms, Maximum = ” +   

                Math.max.apply(this, arrDelays) +   

                “ms, Average = ” +   

                Math.floor(sum/intRecv) +   

                “ms”);   

    }   

    else   

    {   

        /*   

         * 开始   

         */   

        strURL = objTxtURL.value;   

  

        if(strURL.length == 0)   

            return;   

  

        if(strURL.substring(0,7).toLowerCase() != “http://”)   

            strURL = “http://” + strURL;   

  

        intTimeout = parseInt($(“txtTimeout”).value, 10);   

        if(isNaN(intTimeout))   

            intTimeout = 2000;   

        if(intTimeout  1000)   

            intTimeout = 1000;   

  

        objBtn.value = “Stop “;   

        bolIsRunning = true;   

  

        arrDelays = [];   

        intSent = 0;   

  

        cls();   

        println(“Pinging ” + strURL + “:”);   

        println(“ ”);   

        ping();   

    }   

}   

  

function println(str)   

{   

    var objDIV = document.createElement(“div”);   

  

    if(objDIV.innerText != null)   

        objDIV.innerText = str;   

    else   

        objDIV.textContent = str;   

  

    objContent.appendChild(objDIV);   

    objContent.scrollTop = objContent.scrollHeight;   

}   

  

function cls()   

{   

    objContent.innerHTML = “”;   

}   

/script

/body

/html

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/271815.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-12-16 19:23
下一篇 2024-12-16 19:23

相关推荐

  • JS Proxy(array)用法介绍

    JS Proxy(array)可以说是ES6中非常重要的一个特性,它可以代理一个数组,监听数据变化并进行拦截、处理。在实际开发中,使用Proxy(array)可以方便地实现数据的监…

    编程 2025-04-29
  • python强行终止程序快捷键

    本文将从多个方面对python强行终止程序快捷键进行详细阐述,并提供相应代码示例。 一、Ctrl+C快捷键 Ctrl+C快捷键是在终端中经常用来强行终止运行的程序。当你在终端中运行…

    编程 2025-04-29
  • Python程序需要编译才能执行

    Python 被广泛应用于数据分析、人工智能、科学计算等领域,它的灵活性和简单易学的性质使得越来越多的人喜欢使用 Python 进行编程。然而,在 Python 中程序执行的方式不…

    编程 2025-04-29
  • Python程序文件的拓展

    Python是一门功能丰富、易于学习、可读性高的编程语言。Python程序文件通常以.py为文件拓展名,被广泛应用于各种领域,包括Web开发、机器学习、科学计算等。为了更好地发挥P…

    编程 2025-04-29
  • Python购物车程序

    Python购物车程序是一款基于Python编程语言开发的程序,可以实现购物车的相关功能,包括商品的添加、购买、删除、统计等。 一、添加商品 添加商品是购物车程序的基础功能之一,用…

    编程 2025-04-29
  • 爬虫是一种程序

    爬虫是一种程序,用于自动获取互联网上的信息。本文将从如下多个方面对爬虫的意义、运行方式、应用场景和技术要点等进行详细的阐述。 一、爬虫的意义 1、获取信息:爬虫可以自动获取互联网上…

    编程 2025-04-29
  • Vb运行程序的三种方法

    VB是一种非常实用的编程工具,它可以被用于开发各种不同的应用程序,从简单的计算器到更复杂的商业软件。在VB中,有许多不同的方法可以运行程序,包括编译器、发布程序以及命令行。在本文中…

    编程 2025-04-29
  • Python一元二次方程求解程序

    本文将详细阐述Python一元二次方程求解程序的相关知识,为读者提供全面的程序设计思路和操作方法。 一、方程求解 首先,我们需要了解一元二次方程的求解方法。一元二次方程可以写作: …

    编程 2025-04-29
  • 如何使用GPU加速运行Python程序——以CSDN为中心

    GPU的强大性能是众所周知的。而随着深度学习和机器学习的发展,越来越多的Python开发者将GPU应用于深度学习模型的训练过程中,提高了模型训练效率。在本文中,我们将介绍如何使用G…

    编程 2025-04-29
  • Web程序和桌面程序的区别

    Web程序和桌面程序都是进行软件开发的方式,但是它们之间存在很大的区别。本文将从多角度进行阐述。 一、运行方式 Web程序运行于互联网上,用户可以通过使用浏览器来访问它。而桌面程序…

    编程 2025-04-29

发表回复

登录后才能评论