Ser Server ou Client

eaeee…

to quebrando a cabeça com um bagulio aki…
talvez vcs podem me ajudar…

como q eu faço pra saber se ja existe algum server esperando conexao na porta 2001??

tipo assim, pq o q eu to fazendo é uma classe q q verifica se ja existe ou nao um servidor esperando conexao numa determinada porta… se nao existe, essa classe chama outra q será o servidor… mas se ja existe algum servidor, ela chamará outra classe q é a de cliente…

resumindo: Jogo Multiplayer - cada máquina tem o mesmo programa. se ja existe algum jogo acontecendo, entao se conecta a ela como cliente…
se nao existe nenhum jogo aberto no momento, entao abre um server esperando conexao para inicar o jogo multiplayer…
como eu faço isso??

eu sou meio confuso pra explicar minha duvida mas é isso aí… acho q da pra entender né?? hehehehe!!

vlw!!!

bom de começo… a maioria dos jogos multiplayer naum fazem esse teste… o cara que vai jogar que escolhe entre…

Create Game
Join Game

mas se vc quer fazer… tente pingar a porta… mas o problema é o seguinte… vc ta no mesmo ip??? c tive… tenta pingar o porta usando o ip 127.0.0.1 ou localhost…

bom boa sorte

pode creeeeeee!!

nem pensei nisso do Joig Game e Create Game!

entao… eu fiz…

mas agora to com outro problema… heheheh!!
eu tenho 3 programas agora (Servidor, Cliente, Aplicação)

a intençao é q o programa Aplicação gerencie isso…
é bem simples… tem 2 botoes só… (Criar Jogo, Entrar num Jogo)…

mas como eu faço pra qdo clicar em “Criar Jogo” ele abrir o programa Servidor?? ou entao, se clicar em “Entrar num Jogo” ele abrir o programa Cliente???

vlw!

ummm… executa o código main main do cliente

ClassMainCliente.main(new String[0]);

ou o do servidor

ClassMainServidor.main(new String[0]);

axo q funcion assim =]

fazendo tipo assim no botao q chama o Servidor?

Server servidor = new Server();
servidor.main(new String[0]);

pq nao funcionou… quer dizer, funcionou…
mas nao do jeito certo… hehehe

pq ele ficou travado, e tavou tb o Aplicativo q chamou o Servidor.

bem… naum era assim =]

era assim

Server.main(new String[0]);

não precisa instanciar naum…

mas realmente ele via parar o aplicativo atras… axo eu…

vou pensar aki… qualquer coisa te falo

nao funfô nao… :x :x

quer dizer… funcionou igual antes… ele trava as 2 janelas, ela própria e a q a chamou…

eu nao me importo em perder os métodos main das classes servidora e cliente…

o q eu quero é q funcione! hehehhehe… mesmo q nao funcionem idependentes…

vc tem algum outra ideia de como eu posso fazer esse esquema de um programinha ter o Create Game e Join Game??
tudo num arquivo só? uma classe só??

vlw cara!

Bom tem geito sim… mas naum sei como… mas o ideal é ser em classes separadas… e vc mandar rodar o classe do servidor / cliente

mas como???
eu ja tentei de todas as formas e nada…

o q sera q eu to fazendo errado?

alguem tem algum exemplos beeeem simples q faça isso???

aeeeeeeeeeeeeee!!!1

deu certo!!!

consegui fazer essa praga funcionar!!!

o recurso q usei foi (como o autor do livro Core Java diz) a mágica das multiplas linhas de execução… ou somente, Multithreading.

o q tava acontecendo era o seguinte:
qdo o servidor abria um socket pra fazer conexao, ele fica “travado” esperando a conexao… e com isso travava todas as outras janelas juntas…

usando as multiplas linhas de execução, eu deixei o servidor criando la no metodo run() enquanto todo resto da aplicação e de outras aplicações rodavam livre leve e soltas!

vlw pela ajuda ae!