TsgcWebSocketServer | Server Bindings

Por padrão, se você preencher apenas a propriedade Port, o servidor vincula a porta de escuta em TODOS os IPs, então se por exemplo você tiver 3 IPs: 127.0.0.1, 80.54.11.22 e 12.55.41.17, seu servidor vinculará esta porta em todos os 3 IPs.

Geralmente é recomendado fazer o bind apenas aos IPs necessários. É aqui que você pode utilizar a propriedade Bindings.

Em vez de utilizar a propriedade Port, basta utilizar a propriedade Bindings e preencher o IP e a Port necessários.

 

Exemplo: vincula a Porta 5555 ao IP 127.0.0.1 e ao IP 80.58.25.40

 


oServer := TsgcWebSocketServer.Create(nil);
With oServer.Bindings.Add do
begin
  IP := '127.0.0.1';
  Port := 5555;
end;
With oServer.Bindings.Add do
begin
  IP := '80.58.25.40';
  Port := 5555;
end;
oServer.Active := true;

 

Se você alterar a Port após fechar um servidor, para começar a escutar em uma porta diferente, chame o método Bindings.Clear() após fechar o servidor para excluir todos os bindings anteriores. Caso contrário, o servidor tentará vincular-se aos bindings anteriores.