久久精品精选,精品九九视频,www久久只有这里有精品,亚洲熟女乱色综合一区
    分享

    Delphi中PING的實(shí)現(xiàn)

     fjwolf 2009-03-19
    Delphi中PING的實(shí)現(xiàn)
    2008-08-08 20:09

    調(diào)用: Uses Ping;

    procedure TForm1.Button1Click(Sender:TObject);
    var
    str:string;
    ping:Tping;
    begin
    ping := Tping.create; //一定要初試化哦
    ping.pinghost('192.168.1.152', str);
    memo1.Lines.Add(str);
    if str = 'Can not find host!' then ShowMessage('該主機(jī)當(dāng)前不在線!');
    ping.destroy;
    end;

    ====[ping.pas]=====

    unit ping;

    interface

    uses

    Windows, SysUtils, Classes, Controls, Winsock,
    StdCtrls;

    type
    PIPOptionInformation = ^TIPOptionInformation;
    TIPOptionInformation = packed record
        TTL:Byte;
        TOS:Byte;
        Flags:Byte;
        OptionsSize:Byte;
        OptionsData:PChar;
    end;

    PIcmpEchoReply = ^TIcmpEchoReply;
    TIcmpEchoReply = packed record
        Address:DWORD;
        Status:DWORD;
        RTT:DWORD;
        DataSize:Word;
        Reserved:Word;
        Data:Pointer;
        Options:TIPOptionInformation;
    end;

    TIcmpCreateFile = function:THandle; stdcall;
    TIcmpCloseHandle = function(IcmpHandle:THandle):Boolean; stdcall;
    TIcmpSendEcho = function(IcmpHandle:THandle;
        DestinationAddress:DWORD;
        RequestData:Pointer;
        RequestSize:Word;
        RequestOptions:PIPOptionInformation;
        ReplyBuffer:Pointer;
        ReplySize:DWord;
        Timeout:DWord
        ):DWord; stdcall;

    Tping = class(Tobject)

    private
        { Private declarations }
        hICMP:THANDLE;
        IcmpCreateFile:TIcmpCreateFile;
        IcmpCloseHandle:TIcmpCloseHandle;
        IcmpSendEcho:TIcmpSendEcho;
    public
        procedure pinghost(ip:string; var info:string);
        constructor create;
        destructor destroy; override;
        { Public declarations }
    end;

    var
    hICMPdll:HMODULE;

    implementation

    constructor Tping.create;
    begin
    inherited create;
    hICMPdll := LoadLibrary('icmp.dll');
    @ICMPCreateFile := GetProcAddress(hICMPdll, 'IcmpCreateFile');
    @IcmpCloseHandle := GetProcAddress(hICMPdll, 'IcmpCloseHandle');
    @IcmpSendEcho := GetProcAddress(hICMPdll, 'IcmpSendEcho');
    hICMP := IcmpCreateFile;
    end;

    destructor Tping.destroy;
    begin
    FreeLibrary(hIcmpDll);
    inherited destroy;
    end;

    procedure Tping.pinghost(ip:string; var info:string);
    var
    // IP Options for packet to send
    IPOpt:TIPOptionInformation;
    FIPAddress:DWORD;
    pReqData, pRevData:PChar;
    // ICMP Echo reply buffer
    pIPE:PIcmpEchoReply;
    FSize:DWORD;
    MyString:string;
    FTimeOut:DWORD;
    BufferSize:DWORD;
    begin

    if ip <> '' then
    begin
        FIPAddress := inet_addr(PChar(ip));
        FSize := 40;
        BufferSize := SizeOf(TICMPEchoReply) + FSize;
        GetMem(pRevData, FSize);
        GetMem(pIPE, BufferSize);
        FillChar(pIPE^, SizeOf(pIPE^), 0);
        pIPE^.Data := pRevData;
        MyString := 'Test Net - Sos Admin';
        pReqData := PChar(MyString);
        FillChar(IPOpt, Sizeof(IPOpt), 0);
        IPOpt.TTL := 64;
        FTimeOut := 100;
        try
          IcmpSendEcho(hICMP, FIPAddress, pReqData, Length(MyString), @IPOpt, pIPE,
            BufferSize, FTimeOut);
          if pReqData^ = pIPE^.Options.OptionsData^ then
            info := ip + ' ' + IntToStr(pIPE^.DataSize) + '   ' +
              IntToStr(pIPE^.RTT);
        except
          info := 'Can not find host!';
          FreeMem(pRevData);
          FreeMem(pIPE);
          Exit;
        end;
        FreeMem(pRevData);
        FreeMem(pIPE);
    end;
    end;

    end.


      本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
      轉(zhuǎn)藏 分享 獻(xiàn)花(0

      0條評(píng)論

      發(fā)表

      請(qǐng)遵守用戶 評(píng)論公約

      類似文章 更多

      主站蜘蛛池模板: 美乳丰满人妻无码视频| 精品一区二区三区在线成人| 国产精品VA在线观看丝瓜影院| 久久久噜噜噜久久| 国产在线中文字幕精品| 久9视频这里只有精品试看| 久久精品国产亚洲AV高清热| 好男人好资源WWW社区| 亚洲精品无码永久在线观看你懂的 | 377P欧洲日本亚洲大胆| 天堂中文官网在线| 亚洲欧美日韩中文在线制服| 成人免费无码大片A毛片抽搐色欲| 久久久久久国产精品免费免费男同 | 国产亚洲欧美另类一区二区| 久久精品国产亚洲AV忘忧草18 | 国产综合AV一区二区三区无码| 成人爽A毛片免费视频| 小妖精又紧又湿高潮H视频69 | 亚洲色欲色欱WWW在线| 免费看国产美女裸体视频| 亚洲综合无码AV在线观看| 动漫av网站免费观看| 精品无码久久久久成人漫画| 国产中文字幕在线精品| 免费无码VA一区二区三区| 羞羞影院午夜男女爽爽免费视频| 国产精品自产拍在线观看| 伊人久久大香线蕉AV网禁呦| 亚洲欧美日韩中文在线制服| 国产黑色丝袜在线观看下| 国产精品二区中文字幕| 久久综合色之久久综合| 欧美亚洲高清国产| 亚洲国产欧美一区二区好看电影| 精品一区二区不卡无码AV| 国产永久免费高清在线观看| 中文人妻av高清一区二区| 国产精品无码不卡一区二区三区 | 亚洲AV区无码字幕中文色| 日本无遮挡吸乳视频|