Dois aplicativos precisam se ligar à mesma porta

1

Eu tenho dois aplicativos que usam a mesma porta tcp (e a mesma interface) para o console de monitoramento, não a porta principal do aplicativo. Não estou interessado em usar essa porta e não posso alterar o código-fonte para SO_REUSEADDR ou para alterar a porta.

Como posso ter os dois aplicativos em execução no mesmo sistema operacional?

    
por tyranitar 12.10.2016 / 07:44

2 respostas

1

Se o kernel permitisse isso, não teria como saber qual conexão de entrada deveria ser conectada a qual aplicativo.

Você deve fazer os aplicativos se ligarem a IPs diferentes. A maioria dos aplicativos pode fazer isso (mas a maioria dos aplicativos também permite alterar suas portas ...)

Se os aplicativos não permitirem isso, eu os executaria em diferentes pilhas de rede (duas máquinas físicas diferentes ou máquinas virtuais, talvez estivadores).

    
por 12.10.2016 / 08:15
1

Eu não testei isso sozinho, mas para Linux você pode configurar dois IPs diferentes para sua NIC e usar este bindhack :

link

link

Caso contrário, pode ser possível alterar o número da porta codificada no binário usando um hexeditor. Desmontar ou executar um depurador pode ajudar a encontrar o lugar certo para alterá-lo.

    
por 12.10.2016 / 08:23

Tags