1. 작업을 완료했습니다
2. 현재 연결은 원격 호스트에 의해 강제로 끊겼습니다
Excute에서
<--
try
Cmd := AThread.Connection.ReadLn(FOOTER);
if Pos( HEADER, Cmd ) = 0 then
begin
AddLog_Memo('Wrong Header..' + Cmd);
Exit;
end
else
begin
Cmd := Copy( Cmd, Pos( HEADER, Cmd ), Length(Cmd) ); //헤더가 이상하게 넘어오는 걸 방지한다.
end;
if not RequestPeerMessage( Cmd, AThread ) then AddLogError_Memo('Peer Msg Process..' + Cmd);
except
on E: EIdTCPServerError do
begin
if (GetLastError = 10054) then AddLogError_Memo('IdServerExecute Function Except Messsage : ' + SysErrorMessage(GetLastError));
if (not Assigned(AThread.Connection)) or (not AThread.Connection.Connected) then Exit;
AThread.Connection.WriteLn(FOOTER);
if (AThread.Connection.Connected) then AThread.Connection.Disconnect;
Application.ProcessMessages;
Sleep(5);
Exit;
end;
on E : Exception do
begin
AddLogError_Memo('IdServerExecute Function Except Messsage : ' + SysErrorMessage(GetLastError));
if (not Assigned(AThread.Connection)) or (not AThread.Connection.Connected) then Exit;
AThread.Connection.WriteLn(FOOTER);
if (AThread.Connection.Connected) then AThread.Connection.Disconnect;
Application.ProcessMessages;
Sleep(5);
Exit;
-->
이것처럼 예외처리했는데...일부 클라이언트들이 에러가 나면서 끊기는 이유가 뭘까요?
위 메세지가 의미하는걸 잘 모르겠어요~~
답변 좀 부탁드려요~~~
테스트 프로그램으로 한 PC에서 100개의 클라이언트를 붙여서 For Loop돌면서 메세지를 보내다가
안되서 보니깐...저런 메세지 나오면서 연결이 끊깁니다..
ㅠㅠ 도와주세요~