소스는 인디컴포넌트가 제공하는 소스부분입니다.
문제는 자기자신 컴퓨터 밖에 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;