Evitar erro de socket
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.
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
Curtidas 0
Respostas
Massuda
21/07/2007
[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?
GOSTEI 0
Adriano Santos
21/07/2007
[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´ ?
GOSTEI 0
Massuda
21/07/2007
[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).
GOSTEI 0
Adriano Santos
21/07/2007
[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
GOSTEI 0
Turbo Drive
21/07/2007
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.
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.
GOSTEI 0