[firebase-br] Como descobrir se uma porta TCP está livre para o FireBird
Daniel Bastos
danbastos em gmail.com
Qui Nov 13 14:03:36 -03 2008
Caso não consiga resolver pelo InnoSetup:
Em delphi, utilize o TIdHTTPServer da Indy.
IdHTTPServer1.DefaultPort := 3050;
try
IdHTTPServer1.Active := true;
except
ShowMessage('Porta ocupada');
end;
2008/11/12 Paulo - yahoo <psdias2 em yahoo.com.br>
> Peço licença para enviar esta pergunta - talvez off-topic, mas que tem
> relação
> com a instalação do FireBird.
>
> Gostaria de saber se alguém já fez algo semelhante (ou se tem idéia
> de como fazer):
>
>
> A) Se for possível, no Inno Setup:
> ================================
>
> - Gostaria de solicitar ao usuário em qual porta TCP ele deseja
> instalar o FireBird
>
> - Depois que o usuário informar a porta, eu testaria se ela está livre; se
> não estiver, avisaria
> o usuário e ele teria de selecionar uma outra porta
>
> Observação: Na seção [RUN] do meu script do Inno Setup, estou chamando a
> instalação de uma instância
> do FireBird assim (com a porta 3054 pré-determinada):
>
> [Run]
>
> Filename: {app}\Firebird\bin\install_classic.bat; Parameters: MEU_SERVER;
> Components : serverFiles
>
> Filename: {sys}\netsh.exe; Parameters: "firewall add portopening
> protocol=TCP port=3054 name=""Firebird MEU_SERVER"" mode=ENABLE
> scope=SUBNET"; Flags: nowait runhidden; MinVersion: 0,5.01.2600; Components
> : serverFiles
>
>
> - Também gostaria de pegar automaticamente o nome de rede do computador
> onde está sendo feita a instalação, e então
> alterar (durante a instalação) um arquivo BD.INI, onde eu guardaria o nome
> do servidor e a porta TCP escolhida
>
>
>
> B) Se não for possível no Inno Setup
> ================================
>
> - Neste caso, pretendo escrever um programinha Delphi de configuração, que
> seria chamado no final da instalação;
> esse meu programinha pediria e testaria a porta; se eu tiver que optar por
> esta alternativa, então
> meu programinha alteraria o um arquivo BD.INI (isto eu sei fazer).
>
> - Para eu poder implementar a idéia da alternativa "B", como é que eu testo
> se uma determinada porta TCP está livre ?
>
>
> Grato pela atenção de todos
> Paulo
>
>
>
>
>
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
--
Abs
Daniel A. Bastos
Mais detalhes sobre a lista de discussão lista