Q&A

  • ping 관련 문젠데여...(indy 사용)
소스는 인디컴포넌트가 제공하는 소스부분입니다.

문제는 자기자신 컴퓨터 밖에 Ping을 하지 않는다는 건데여..

왜 그런지 도무지 이해가 가질 않습니다.



고수님덜..........부탁드립니다.

오늘 중으로 해결해야 하는데 연락 부탁드립니다.





procedure TfrmPing.btnPingClick(Sender: TObject);

var

i: integer;

begin

lstReplies.Items.Clear;



if edtHost.Text = '' then begin

if application.MessageBox('DNS 나 IP를 입력하세요', '에러', MB_OK) = IDOK then lstReplies.SetFocus;

exit;

end;



btnPing.Enabled := False; try

ICMP.Host := edtHost.Text;

for i := 1 to 4 do begin

ICMP.Ping;

Application.ProcessMessages;

Sleep(1000);

end;

finally btnPing.Enabled := True; end;

end;



procedure TfrmPing.ICMPReply(const ReplyStatus: TReplyStatus);

var

sTime: string;

begin

// TODO: check for error on ping reply (ReplyStatus.MsgType?)

if (ReplyStatus.MsRoundTripTime = 0) then sTime := '<1'

else sTime := '=';



lstReplies.Items.Add(Format('%d bytes from %s: icmp_seq=%d ttl=%d time%s%d ms',

[ReplyStatus.BytesReceived,

ReplyStatus.FromIpAddress,

ReplyStatus.SequenceId,

ReplyStatus.TimeToLive,

sTime,

ReplyStatus.MsRoundTripTime]));

end;



0  COMMENTS