Configurando um endereço IP para cada janela do terminal

-1

Para o meu projeto eu tenho que desenvolver uma conexão com o servidor cliente TCP em c. Eu fiz os dois arquivos e eles estão trabalhando com o endereço localhost 127.0.0.1. No entanto, gostaria de executar dois servidores simultaneamente, um como 127.0.0.1 e outro como 127.0.0.2 por exemplo.

Para fazer isso, eu gostaria de definir um endereço IP para cada janela do terminal. Eu não encontrei como fazer isso. Eu encontrei algumas informações sobre o loopback, ip addr add 127.0.0.2 dev lo , mas não sei como executar cada janela com um IP. Isso é possível? Como?

Eu sei que funcionaria se eu tivesse portas diferentes ou se eu tivesse um código de servidor diferente, alterando apenas o IP especificado como 127.0.0.1 em um e 127.0.0.2 no outro. No entanto, a questão é, eu quero saber se é possível especificar um para cada terminal, por exemplo, para que eu possa usar o mesmo código de servidor neles. Isso é para simular a conexão com diferentes computadores.

Por enquanto, eu configurei o addr como INADDR_ANY , então qualquer conexão 127.X.X.X é aceita e funciona. Mas eles novamente, no mesmo número de porta, que é o que eu preciso, eu quero rodar 2 ou mais servidores simultaneamente, então eu preciso de IPs diferentes. E como localhost é definido como 127.x.x.x, eu quero reduzi-lo, então cada terminal recebe "parte" do endereço localhost

    
por Daniel Camargos 06.11.2016 / 22:12

1 resposta

2

Não é assim que os endereços IP funcionam. Todos os endereços 127.X.X.X resolvem a sua mesma interface localhost / lo. Além disso, se o seu servidor escuta / "liga" em qualquer endereço 127.X.X.X, apenas um cliente rodando ON THE SAME BOX pode se conectar a ele. por exemplo. outros clientes na mesma rede não poderão se conectar a ele.

Você tem que especificar no código C do seu servidor qual endereço IP (e porta) para escutar, ou pode passar o IP para um programa servidor como um argumento. Começar o mesmo código de terminais diferentes não faz diferença.

Se você quiser começar a executar ambos os servidores simultaneamente, você terá que executá-los em números de porta TCP diferentes. (Qual é o propósito dos portos)

    
por meccooll 07.11.2016 / 00:21