| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 20/10/2008 07:50:28
|
aloha
JavaChild
Membro desde: 07/08/2008 15:32:24
Mensagens: 139
Offline
|
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
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 20/10/2008 08:29:27
|
oyama
Virtual Machine Man
Membro desde: 19/04/2005 10:11:09
Mensagens: 572
Offline
|
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).
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 20/10/2008 08:37:28
|
aloha
JavaChild
Membro desde: 07/08/2008 15:32:24
Mensagens: 139
Offline
|
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
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 20/10/2008 12:41:54
|
KWill
Virtual Machine Man
![[Avatar]](/images/avatar/042aec9e604155f2f06c0a16c5f9ba06.jpg)
Membro desde: 18/09/2006 10:05:46
Mensagens: 609
Offline
|
aloha wrote: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é.
|
"Só estou certo de que não possuo outras certezas" - KWill
"Não penso, mas Googlo, logo existo!" - Geração Copy-Cola |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 20/10/2008 12:47:07
|
aloha
JavaChild
Membro desde: 07/08/2008 15:32:24
Mensagens: 139
Offline
|
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
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 20/10/2008 12:52:38
|
ralphsilver
Java Ninja
![[Avatar]](/images/avatar/2b720b5359202de2d62768369718f694.jpg)
Membro desde: 09/03/2008 19:53:14
Mensagens: 269
Offline
|
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.
|
No mundo há apenas 10 tipos de pessoas: os que sabem binário e os que não sabem |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 20/10/2008 12:55:23
|
KWill
Virtual Machine Man
![[Avatar]](/images/avatar/042aec9e604155f2f06c0a16c5f9ba06.jpg)
Membro desde: 18/09/2006 10:05:46
Mensagens: 609
Offline
|
aloha wrote: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é.
|
"Só estou certo de que não possuo outras certezas" - KWill
"Não penso, mas Googlo, logo existo!" - Geração Copy-Cola |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 20/10/2008 15:08:16
|
aloha
JavaChild
Membro desde: 07/08/2008 15:32:24
Mensagens: 139
Offline
|
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?
|
|
|
 |
|
|