Sockets

3 respostas
M

Alguém tem algum exemplo da utilização de Sockets(Serversocket) em Java em uma implementação de uma rede em anel de servidores ? como se fossem , por exemplo, 5 computadores conectados enviando mensagens uns aos outros,sendo que o 5° está conectado, lógico,ao primeiro… este,ao segundo e assim vai…

agradeço!

3 Respostas

M

Não me importaria se alguem tivesse então algum codigo de cliente/servidor ao mesmo tempo… sem um server central… como se varios clientes estivesse se comunicando(ou varios servers)…
eu só to conseguindo fazer uma comunicação usando, um server e um anel de clientes… mas eu preciso fazer sem server, ou seja, um anel de servers… acho que pode ser cada um ligado a uma porta diferente na mesma rede.

eu achei na net um software chamado JMessage, mas só achei a referencia,o download não ta mais… nao sei porque o cara tirou.

falow

P

tb preciso fazer algo parecido alguem teria alguma dica

danielpbvs

Caro amigo,

Fiz algo na faculdade com sockets no inicio do ano. Cada um desenvolveu seu código de cliente/servidor.

O seu problema é parecido. Cada máquina terá que ser ao mesmo tempo um cliente e um servidor. Terá que ser um cliente para poder enviar mensagem para outra máquina, e terá que ser um servidor para poder aceitar conexões e receber mensagens de um outra máquina que estiver conectada a ela.

Você terá que configurar a porta que aceitará a conexão, no seu código Servidor.

. . .
String porta = "8080";
ServerSocket srv = null;
Socket soc = null;
try{
    srv = new ServerSocket(porta);
    soc = srv.accept();
}catch(IOException e){
    e.printStackTrace();
}finally{
    try{
       soc.close();
       srv.close();
    }catch(IOException e){
       e.printStackTrace();
    }
}
. . .

E no seu código Cliente, você terá que configurar a porta que será conectada e o endereço do computador que deseja conectar.

. . . 
Socket s = null;

try{
  s = new Socket("127.0.0.1",8080);
}catch(IOException e){
  e.printStackTrace();
}finally{
      try{
         s.close();
      }catch(IOException e){
         e.printStackTrace();
      }
}
. . .

Fazendo isso, a topologia de rede que utilizará, pouco importa.

Já experimentou ler o artigo sobre sockets aqui do GUJ?
[url]http://www.guj.com.br/java.tutorial.artigo.126.1.guj[/url]

Dá uma olhada. Esta muito bom esse artigo e te ajudará bastante.

Ats.,

Daniel Pedra B. V. Silva

Criado 19 de outubro de 2002
Ultima resposta 6 de jun. de 2005
Respostas 3
Participantes 3