anchor.diff:    FreeAndNil(FURL);
     FreeAndNil(FHeaderBuilder);
     inherited Destroy;
  +end;
  +
  +procedure TDiocpWebSocketContext.DoRecv;
  +var
  +  lvOptCode:Integer;
  +begin
  +  lvOptCode :=FWsFrame.GetOptCode;
  +  if lvOptCode = OPT_PING then
  +  begin
  +    PostWSASendRequest(@WS_MSG_PONG, 2, False);
  +  end else if lvOptCode = OPT_PONG then
  +  begin
  +    ; // {noop}
  +  end else if lvOptCode = OPT_CLOSE then
  +  begin
  +    RequestDisconnect('յWebSocket-Close');
  +  end else
  +  begin
  +    if Assigned(FOnRecv) then
  +    begin
  +      FOnRecv(Self);
  +    end;
  +  end;
   end;
   
   procedure TDiocpWebSocketContext.OnConnected;
  
positive.code:     procedure OnConnected; override;
      procedure OnDisconnected; override;
      procedure OnRecvBuffer(buf: Pointer; len: Cardinal; ErrCode: WORD); override;
    public
      constructor Create; override;
      destructor Destroy; override;
  
negative.code:           FWsFrame.DoCleanUp();
          end else
          begin
            DoRecv();
  
            FWsFrame.DoCleanUp;
            FWebSocketContentBuffer.Clear;
          end;      
  