Explorar o código

HTTPClient: check for changed host/port for KeepConnection

Ondrej Pokorny hai 1 ano
pai
achega
910a70ed0d
Modificáronse 1 ficheiros con 6 adicións e 0 borrados
  1. 6 0
      packages/fcl-web/src/base/fphttpclient.pp

+ 6 - 0
packages/fcl-web/src/base/fphttpclient.pp

@@ -1459,6 +1459,12 @@ begin
   ExtractHostPort(AURI, CHost, CPort);
   SkipReconnect := False;
   ACount := 0;
+
+  // check for changed host/port
+  if IsConnected and (Socket is TInetSocket)
+  and ((TInetSocket(Socket).Host<>CHost) or (TInetSocket(Socket).Port<>CPort)) then
+    DisconnectFromServer;
+
   Repeat
     If Not IsConnected Then
       ConnectToServer(CHost,CPort,AIsHttps);