关于检测非正常下线的问题KeepAlive
procedure Tserver.ClientSocket1Connect(Sender: TObject;
Socket: TCustomWinSocket);
type
TCP_KeepAlive = record
OnOff: Cardinal;
KeepAliveTime: Cardinal;
KeepAliveInterval: Cardinal
end;
var
Val: TCP_KeepAlive;
Ret: DWord;
begin
try
Val.OnOff:=1;
Val.KeepAliveTime:=60000;
Val.KeepAliveInterval:=1000;
WSAIoctl(Socket.Handle, IOC_IN or IOC_VENDOR or 4,
@Val, SizeOf(Val), nil, 0, @Ret, nil, nil);
except
end;
end;
上面的代码是我在网上找到的 用于检测非正常下线用的 我在tserversocket上使用正常能检测到 但是在tclientsocket上去不起作用 不知道什么原因 请高手指点一下