浏览代码

HTTPClient: check for changed host/port for KeepConnection

Ondrej Pokorny 1 年之前
父节点
当前提交
910a70ed0d
共有 1 个文件被更改,包括 6 次插入0 次删除
  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);