Here is example:
FWebSocketServer.Port := 8000;
FWebSocketServer.Active := True;
FWebSocketServer.Active := False;
FWebSocketServer.Port := 8080;
FWebSocketServer.Active := True;
// nothing happens, server still listening on port 8000
Here is the bug fix:
procedure TTMSFNCCustomWebSocketServer.SetActive(const Value: Boolean);
var
h: TIdSocketHandle;
begin
if FServerActive <> Value then
begin
FServerActive := Value;
if (csDesigning in ComponentState) or (csLoading in ComponentState) then
Exit;
If not HTTPServer.Active then begin
HTTPServer.Bindings.Clear;
h := HTTPServer.Bindings.Add();
h.Port := Self.Port;
h.IP := '0.0.0.0.';
end;
HTTPServer.Active := Value;
end;
end;