A
activexform
Unregistered / Unconfirmed
GUEST, unregistred user!
您好,客户端如下处理 :
procedure TForm1.Connect ;
begin
ClientSocket1.Open ;
end ;
procedure TForm1.FormCreate(Sender: TObject);
begin
if ClientSocket1.Active = false then
begin
try
Connect ;
except
end ;
end ;
end;
procedure TForm1.ClientSocket1Error(Sender: TObject;
Socket: TCustomWinSocket; ErrorEvent: TErrorEvent;
var ErrorCode: Integer);
begin
case ErrorEvent of
eeConnect: Connect ;
end;
ErrorCode := 0;
if ClientSocket1.Active then
ClientSocket1.Active := False;
end;
这样可以保证当 TServerSocket 没有打开时客户端可以不断地去连接服务端直到
TServerSocket打开 ; 现在的问题是 :
假设通信正常(服务端已经打开,双方可以正常通信) , 这时关闭 TServerSocket ,
然后重新启动TServerSocket,这时候客户端连接不到服务端了,只有重新启动客户端才能
连接到服务端 ---- 也就是说服务端死机后服务端和客户端都必须重新启动一次 ; 但从
代码看当连接不成功时后反复连接(好像没有错误), 请问为什么 ? 应该怎样解决 ?
谢谢
procedure TForm1.Connect ;
begin
ClientSocket1.Open ;
end ;
procedure TForm1.FormCreate(Sender: TObject);
begin
if ClientSocket1.Active = false then
begin
try
Connect ;
except
end ;
end ;
end;
procedure TForm1.ClientSocket1Error(Sender: TObject;
Socket: TCustomWinSocket; ErrorEvent: TErrorEvent;
var ErrorCode: Integer);
begin
case ErrorEvent of
eeConnect: Connect ;
end;
ErrorCode := 0;
if ClientSocket1.Active then
ClientSocket1.Active := False;
end;
这样可以保证当 TServerSocket 没有打开时客户端可以不断地去连接服务端直到
TServerSocket打开 ; 现在的问题是 :
假设通信正常(服务端已经打开,双方可以正常通信) , 这时关闭 TServerSocket ,
然后重新启动TServerSocket,这时候客户端连接不到服务端了,只有重新启动客户端才能
连接到服务端 ---- 也就是说服务端死机后服务端和客户端都必须重新启动一次 ; 但从
代码看当连接不成功时后反复连接(好像没有错误), 请问为什么 ? 应该怎样解决 ?
谢谢