Модератор: Модераторы

 

 говорить не конструктивно, то, собственно, вот:
 говорить не конструктивно, то, собственно, вот:
procedure TClientIPPort.Open(IP: String; Port: Cardinal);
var
  i: Cardinal;
begin
  fClientSocket.Bind(fLocalIP, IntToStr(Port+1));
  fClientSocket.Connect(IP, IntToStr(Port));
  if fClientSocket.LastError <> 0 then
  begin
    if Assigned(OnError) then
      OnError(Self, fClientSocket.LastError, fClientSocket.LastErrorDesc);
    Exit;
  end;
  if Assigned(OnConnect) then
    OnConnect(Self); 
end;procedure TClientReadThread.Execute;
var
  ReadBuf: array of Byte;
  i, ReadCount: Integer;
begin
  while not Terminated do
  begin
    //если можно читать из сокета
    if fClientSocket.CanRead(0) then
    begin
      //кол-во данных, доступных для чтения
      ReadCount:= fClientSocket.WaitingData;
      if ReadCount > 0 then
      begin
        SetLength(ReadBuf, ReadCount);
        for i:= Low(ReadBuf) to High(ReadBuf) do
          ReadBuf[i]:= fClientSocket.RecvByte(500);
       .........................
                
      end;
      Sleep(1);
    end
    else
    begin
      if fClientSocket.LastError <> 0 then
      begin
        if Assigned(OnError) then
         OnError(Self, fClientSocket.LastError, fClientSocket.LastErrorDesc);
        if Assigned(OnDisconnect) then
          OnDisconnect(Self);
        Exit;
      end;
    end;
  end;
end; , даже при обрыве. Попробовал в обработчике  события OnStatus анализировать параметр типа THookSocketReason. При обрыве начинает постоянно выдавать HR_CanRead и лишь при попытке записи появляется HR_Error: 10053, Software caused connection abort
 , даже при обрыве. Попробовал в обработчике  события OnStatus анализировать параметр типа THookSocketReason. При обрыве начинает постоянно выдавать HR_CanRead и лишь при попытке записи появляется HR_Error: 10053, Software caused connection abort
*vmr писал(а):PS: Я успешно определяю разрыв коннекта только средствами синапса и без всяких "костылей"
 Если это не коммерческая тайна, конечно.
 Если это не коммерческая тайна, конечно.  Буду весьма признателен.
 Буду весьма признателен.Сейчас этот форум просматривают: Google [Bot] и гости: 1