안녕들 하세엽..
다름 아니구여...사용자의 IP를 가지고 있는데여...
이 사용자들이 on-line 인지 off-line인지..실시간으로 계속 체크를 해야 되는데...
전 쓰레드를 하나 만들어서 이 쓰레드가 10초마다 계속 실행 됩니다.
그리고 쓰레드 안에서 Indy UDP로 상대방 IP 를 갖고 통신을 보내봅니다.
응답이 있는 넘은 아직 살아 있는 사용자 이고...응답이 없으면 네트웍 끊김으로
간주 할려고 하는데여..델파이에 소스 올리고 실행 해서 체크 하면...상대방이 끊
기면 소켓 에러 나잖아여...여기까지는 당연 한 건데...
어째 실행파일에서 쓰레드가 상대방을 체크 할려고 IP를 갖고 들어 가면...알 수 없
는 소프트웨어 에러가 납니다.
제가 사용한 코드는 다음과 같습니다.
//////////////////////////////////////
Threads 안....
while true do
begin
for i := 0 to 4 do
begin
if IP가 있다면 then
begin
UDPClient2.Host := 친구 IP;
UDPClient2.Port := 8085;
UDPClient2.ReceiveTimeout := 5000;
strMsg := 'IA'+ '|';
UDPClient2.Send(strMsg); //sending
flag := UDPClient2.ReceiveString(); //receive
if flag = '' then
begin
showmessage('죽은넘');
// 메모리 갱신...
// 서버에 알림...죽었다구..
break;
end
else begin
showmessage('살은넘');
continue;
end;
end;
end; // 친구 4명..
sleep (10000);
end;
이렇게 했습니다.
보시고..고수님들은...실시간으로 사용자들의 체크를 하는 방법이 이것 말고...
좋은 방법..조언 부탁 드립니다.
수거여~~