diff --git a/IdHTTPWebsocketClient.pas b/IdHTTPWebsocketClient.pas index 6acfe71..2037b0f 100644 --- a/IdHTTPWebsocketClient.pas +++ b/IdHTTPWebsocketClient.pas @@ -325,6 +325,7 @@ begin if (IOHandler <> nil) then IOHandler.Clear; + Self.ConnectTimeout := 100; Self.Connect; TryUpgradeToWebsocket; except diff --git a/IdIOHandlerWebsocket.pas b/IdIOHandlerWebsocket.pas index 739174f..317fc99 100644 --- a/IdIOHandlerWebsocket.pas +++ b/IdIOHandlerWebsocket.pas @@ -556,6 +556,8 @@ end; function TIdIOHandlerWebsocket.Readable(AMSec: Integer): Boolean; begin + if FWSInputBuffer.Size > 0 then Exit(True); + if not FSelectLock.TryEnter then Exit(False); try Result := inherited Readable(AMSec);