Indy Server的OnExecute事件:...
if not AThread.Terminated and AThread.Connection.Connected then
begin
try
sRecvMsg := AThread.Connection.ReadLn();
except
exit;
end;如果客户端是强行退出的时候,程序跟死机一样改成下面语句后
if not AThread.Terminated and AThread.Connection.Connected then
begin
k:=0;
try
sRecvMsg := AThread.Connection.ReadLn();
except
k:=1;
end;
if k=1 then begin
try
AThread.Connection.Disconnect;
except
on E: Exception do begin
AThread.Stop;
end;
end; //try
exit;
end;后当其他客户端正常退出,退出时每次都触发
k:=1;
不知道为什么???????????????
if not AThread.Terminated and AThread.Connection.Connected then
begin
try
sRecvMsg := AThread.Connection.ReadLn();
except
exit;
end;如果客户端是强行退出的时候,程序跟死机一样改成下面语句后
if not AThread.Terminated and AThread.Connection.Connected then
begin
k:=0;
try
sRecvMsg := AThread.Connection.ReadLn();
except
k:=1;
end;
if k=1 then begin
try
AThread.Connection.Disconnect;
except
on E: Exception do begin
AThread.Stop;
end;
end; //try
exit;
end;后当其他客户端正常退出,退出时每次都触发
k:=1;
不知道为什么???????????????
把帖子转到网络通讯块去