GARANTIR DESCONTO

Fórum Evitar erro de socket #343499

21/07/2007

0

Bom dia a todos.
Estou utilizando ServerSocket para comunicação entre PC´s, e de vez em quando está ocorrendo um erro onde diz que a porta está sendo executada por outro aplicativo.
Existe alguma forma de reservar a porta via delphi ou via Windows mesmo ?

Grato pela atenção.


Turbo Drive

Turbo Drive

Responder

Posts

22/07/2007

Massuda

[quote:6126c87055=´Turbo Drive´]Existe alguma forma de reservar a porta via delphi ou via Windows mesmo ?[/quote:6126c87055]Acredito que não. A coisa fuciona na base do ´a porta é de quem chegar primeiro´. Vc já verificou qual seria o outro programa que está usando a porta?


Responder

Gostei + 0

22/07/2007

Adriano Santos

[quote:8a5a2f80db=´Turbo Drive´]Existe alguma forma de reservar a porta via delphi ou via Windows mesmo ?
Acredito que não. A coisa fuciona na base do ´a porta é de quem chegar primeiro´. Vc já verificou qual seria o outro programa que está usando a porta?[/quote:8a5a2f80db]
Massuda, não tem como ´monitorar´ as portas pra descobrir qual está ´vazia´ ?


Responder

Gostei + 0

22/07/2007

Massuda

[quote:2bb0ef33b1=´Adriano Santos´]tem como ´monitorar´ as portas pra descobrir qual está ´vazia´ ?[/quote:2bb0ef33b1]O jeito mais simples é tentar abrir a porta e se falhar assumir que a porta está em uso (ou analisar o erro ocorrido e concluir isso).


Responder

Gostei + 0

22/07/2007

Adriano Santos

[quote:c43aeccf78=´Adriano Santos´]tem como ´monitorar´ as portas pra descobrir qual está ´vazia´ ?
O jeito mais simples é tentar abrir a porta e se falhar assumir que a porta está em uso (ou analisar o erro ocorrido e concluir isso).[/quote:c43aeccf78]

Então podemos fazer um ´tentativa e erro´ mais ou menos assim:
procedure TForm1...
begin
  repeat
    try
      //tenta conexão
    except
    end;
  until
end;



Teoricamente seria a maneira mais simples de fazer.
[]s


Responder

Gostei + 0

23/07/2007

Turbo Drive

Valeu pelas dicas galera, mais aí a coisa se complica.
Como falei anteriormente, são vários sistemas. Digamos que os PC´s A e B tentam conectar na porta 1028, e não conseguem. Então o PC A faz a verificação, e descobre que a porta livre é a 1030; já no PC B(que é o servidor) a porta que está livre é a 1031. Ou seja, os sistemas não conseguirão se comunicar.
Existe alguma forma de eu dizer para os outros PC´s que a porta livre é a 1030 ?

Grato pela atenção.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar