Olá
Estou desenvovendo um programa q precisa sempre analisar o ip de um servidor que sempre esta mudando, pq esse servidor não fica ligado sempre e esse programa seria uma forma de sempre analisar e descobrir o ip novo desse servidor para q assim eu não precise configurar máquina por máquina com o ip novo desse servidor, vou apresentar o problema abaixo:
No momento em que inciar, o programa precisa analisar o arquivo
…\system32\drivers\etc\hosts
Esse arquivo direciona o DNS para um IP especifico (exemplo 127.0.0.1 para localhost) excluir todas as referencias ao SR (SRauthd.SR.com), atualizar o ip dinamico do dns SR.creations.org e atualizar o hosts com esse ip, como por exemplo (201.17.218.168 SRauthd.SR.com), e dessa forma, redirecionar a conexao do cliente para ip do servidor que é no caso SRauthd.SR.com.
exemplo como deve ficar o conteudo do arquivo hosts:
127.0.0.1 localhost
201.17.218.168 SRauthd.SR.com
Bom eu sinceramente não sei nem como começar um código desses, se alguém puder me ajudar serei enternamente grato
obrigado pela sua atenção.
ps.: os endereço aí são apenas exemplos assim como os ips
Eu não sei se entendi direito, mas pelo que entendi não é muito complexo não. Basta você lê o arquivo.
Para isso dê uma olhada nas class FileReader.
try {
BufferedReader in = new BufferedReader(new FileReader("infilename"));
String str;
while ((str = in.readLine()) != null) {
//aqui você verifica se a linha lida tem o servidor SRauthd.SR.com , se tiver, você pega o ip (substr)
}
in.close();
} catch (IOException e) {
}
Falou
hehehe rodolfocoutinho, ta bem humilde hoje hem … vamos fazer logo aquele projeto pow…
deixa eu me desafogar dos outros projetos pra gente começar a fazer aquele.
[quote=“rodolfocoutinho”]Eu não sei se entendi direito, mas pelo que entendi não é muito complexo não. Basta você lê o arquivo.
Para isso dê uma olhada nas class FileReader.
try {
BufferedReader in = new BufferedReader(new FileReader("infilename"));
String str;
while ((str = in.readLine()) != null) {
//aqui você verifica se a linha lida tem o servidor SRauthd.SR.com , se tiver, você pega o ip (substr)
}
in.close();
} catch (IOException e) {
}
Falou[/quote]
bom isso ja ajudou muito ^^ brigadao
tipo se vc nao entendeu vo tenta explica denovo de uma maneira acho mais tranquila
Primeiro: o programa pega o IP do endereço SR.creations.org
Segundo: ele verifica se o IP q ele pegou é o mesmo que está referenciado a SRauthd.SR.com dentro do arquivo hosts
terceiro: se estiver tudo ok ele não muda nada, caso o ip do servidor seja diferente, ele pega o IP velho que esta atribuido a SRauthd.SR.com e substitui pelo novo IP do servidor
Espero q tenha entendido ^^
[quote=“rodolfocoutinho”]Eu não sei se entendi direito, mas pelo que entendi não é muito complexo não. Basta você lê o arquivo.
Para isso dê uma olhada nas class FileReader.
try {
BufferedReader in = new BufferedReader(new FileReader("infilename"));
String str;
while ((str = in.readLine()) != null) {
//aqui você verifica se a linha lida tem o servidor SRauthd.SR.com , se tiver, você pega o ip (substr)
}
in.close();
} catch (IOException e) {
}
Falou[/quote]
bom isso ja ajudou muito ^^ brigadao
tipo se vc nao entendeu vo tenta explica denovo de uma maneira acho mais tranquila
Primeiro: o programa pega o IP do endereço SR.creations.org
Segundo: ele verifica se o IP q ele pegou é o mesmo que está referenciado a SRauthd.SR.com dentro do arquivo hosts
terceiro: se estiver tudo ok ele não muda nada, caso o ip do servidor seja diferente, ele pega o IP velho que esta atribuido a SRauthd.SR.com e substitui pelo novo IP do servidor
Espero q tenha entendido ^^
[quote=“rodolfocoutinho”]Eu não sei se entendi direito, mas pelo que entendi não é muito complexo não. Basta você lê o arquivo.
Para isso dê uma olhada nas class FileReader.
try {
BufferedReader in = new BufferedReader(new FileReader("infilename"));
String str;
while ((str = in.readLine()) != null) {
//aqui você verifica se a linha lida tem o servidor SRauthd.SR.com , se tiver, você pega o ip (substr)
}
in.close();
} catch (IOException e) {
}
Falou[/quote]
tem necessidade de postar 3 vezes a mesma coisa ?
Pra você pegar o ip do servidor, basta você pingar para ele.
Você faz isso assim:
String ping = "ping www.servidor.com.br"
Process p = Runtime.getRuntime().exec(ping); //Ele executará o comando ping.
InputStream in = p.getInputStream();
int c;
while ((c = in.read()) != -1) {
//Aqui vc verifica qual o ip da string que ele irá retornar.
//Você poderá usar substr para obter o ip
//Essa string será igual aquela que é mostrada no DOS quando executamos o comando ping.
}
in.close();
Para mais de uma olhada nestas classes.
desculpa ter postado 3 vez q aki deu erro q nao havia postado, se algum moderador puder deletar os posts repetido tudo bem.
e vlw ae com esse codigo ja to no caminho mais certo brigadao mais uma vez ^^