* 사용환경 : 델파이5 / Windows 98
지금 INDY 컴포넌트 사용해서 한번에 10곳에 PING을
쏘려고 하는데요...
이놈들이 모두 연결이 되어있을경우는 상관이 없는데
연결이 끊킨곳으로 가면 순차적으로 하나씩 표시가 되더군요...
속도가 너무 느려서 동시에 연결 끊킴을 받고싶은데
쓰레드를 사용할려면 어케해야하나요...
일단 쓰레드를 실행하고 indy 컴포넌트를 어디서 생성하는것인지요...
코딩으로 해서 쓰레드에 추가해야 하는지 아니면 컴포넌트를 폼에 등록후
쓰레드에서 불러와도 돼는지요...
간단한 소스로라도좀 알켜주세요..
그럼 이만..
> * 사용환경 : 델파이5 / Windows 98
>
> 지금 INDY 컴포넌트 사용해서 한번에 10곳에 PING을
> 쏘려고 하는데요...
>
> 이놈들이 모두 연결이 되어있을경우는 상관이 없는데
> 연결이 끊킨곳으로 가면 순차적으로 하나씩 표시가 되더군요...
> 속도가 너무 느려서 동시에 연결 끊킴을 받고싶은데
> 쓰레드를 사용할려면 어케해야하나요...
>
> 일단 쓰레드를 실행하고 indy 컴포넌트를 어디서 생성하는것인지요...
> 코딩으로 해서 쓰레드에 추가해야 하는지 아니면 컴포넌트를 폼에 등록후
> 쓰레드에서 불러와도 돼는지요...
>
> 간단한 소스로라도좀 알켜주세요..
>
> 그럼 이만..
>
>
TThreadPing = class(TThread)
private
sip :string;
p : INDY Ping component;
protected
procedure Execute; override;
public
constructor Create(ip:String);
destructor Destroy; override;
end;
implementation
constructor TThreadPing.Create(ip:String);
begin
sip := ip;
create ping component;
inherited Create(False);
end;
destructor TThreadPing.Destroy;
begin
// some free ping component;
inherited;
end;
procedure TThreadPing.Execute;
begin
// ping 1 host with sip
end;
procedure TfMain.DoPing;
var
thread1 :TThreadPing;
begin
for ... // loop - 여러개니깐
begin
thread1 := TThreadPing.Create(ip);
thread1.free;
end;
end;