Sockets entre 4 pcs

7 respostas
A

Dae pessoal…

Já sei como fazer comunicação entre 2 computadores via socket, porém estou precisando fazer um jogo de truco em até 4 jogadores em rede.

Minha dúvida é, como conectar 4 computadores via socket?

Obrigado a todos

7 Respostas

O

Comunicação via socket é sempre dois a dois (a menos que você faça um esquema de multicast e/ou broadcast).
Duas soluções:

  • Ter um servidor que todos se conectam (melhor opção)
  • Conectar os computadores dois a dois (vai dar trabalho gerenciar isto).
A

no caso, criando um servidor que todos se conectam…

até onde eu sei, quando eu crio um serverSocket ele recebe 1 conexao, como eu faria pra receber mais d 1?

isso ainda ta muito estranho pra mim!!!

valew cara

K

aloha:
no caso, criando um servidor que todos se conectam…

até onde eu sei, quando eu crio um serverSocket ele recebe 1 conexao, como eu faria pra receber mais d 1?

isso ainda ta muito estranho pra mim!!!

valew cara

Não é bem assim, a classe ServerSocket aguarda uma conexão para cada chamada ao método “accept()” que for feita. Então, se tu quiser “receber” 4 conexões, basta chamar o método “accept()” 4 vezes e em todas as vezes guardar a referência para o objeto do tipo Socket que for retornado, que representa a conexão TCP com a máquina remota.

Inté.

A

legal

quando eu fiz um jogo em rede de 2 computadores, eu conseguia criar o servidor e me conectar como cliente usando a mesma maquina, por exemplo:

criei o servidor no pc X
no pc X abri o jogo novamente, conectei como cliente no ip 127.0.0.1

isso funciona perfeitamente, sera q com 4 programas diferentes (no caso) isso daria certo?

o problema é q nao tenho 4 computadores para testar o jogo, entao keria saber c tudo funcionaria executando na mesma maquina.

obrigado

R

4 clientes e um servidor na mesma máquina com certeza funciona… o que não pode ocorrer é mais de um servidor na mesma máquina… ocorre o erro de bind (porta já sendo usada).

no seu caso… uma primeira versão poderia ser do jeito que foi citado anteriormente… vc pega as referencias dos sockets e pronto… fechou.

K

aloha:
legal

quando eu fiz um jogo em rede de 2 computadores, eu conseguia criar o servidor e me conectar como cliente usando a mesma maquina, por exemplo:

criei o servidor no pc X
no pc X abri o jogo novamente, conectei como cliente no ip 127.0.0.1

isso funciona perfeitamente, sera q com 4 programas diferentes (no caso) isso daria certo?

o problema é q nao tenho 4 computadores para testar o jogo, entao keria saber c tudo funcionaria executando na mesma maquina.

obrigado

Tu não precisa necessariamente de 4 computadores, tu precisa é de uma máquina que aguente as 4 instâncias diferentes do aplicativo “cliente” e depois é só usar o host de loopback “localhost” ou “127.0.0.1” para conectar os “clientes” ao “servidor”.

Inté.

A

resumindo:

eu posso fazer com q 4 programas sejam clientes de um servidor, tudo na mesma maquina…
isso eh a mesma coisa q ter cada 1 em 1 pc diferente…

certo?

Criado 20 de outubro de 2008
Ultima resposta 20 de out. de 2008
Respostas 7
Participantes 4