Duvida sobre sockets em geral

2 respostas
ktinho

galera sempre fui curioso sobre como funciona os sockets, vejao se isso é oque acontece em socket multplayer.

quando é aberto um socket cliente=> servidor o servidor abre uma conexao com o cliente e essa conexao nao é fechada até certo tempo, digamos que temos 2 usuarios junior e luis em uma sala de jogo, e um ja esta no jogo e o outro esta entrando. quando um usuario entra no jogo, o servidor pega:

(variavel ou array)
nome = junior
posiçao = 120x,250y
imagem do avatar = imagem2

(variavel ou array)
nome = luis
posiçao = 310x,100y
imagem do avatar = imagem2

isso sera desenhado e printado na tela dos jogadores?

se sim como é que acontece quando entra uns 100 players sao criado 100 (variavel ou array)? no sevidor para cada jogador?

ou é de outro geito?

eu achava que isso era tipo banco de dados, ai era pego pelo servidor as tabelas nescesarias como imagem, posiçao, nome, mas depois descobri que se fosse dessa maneira o banco de dados daria overflow.

2 Respostas

ViniGodoy

Em jogos multiplayer, geralmente é aberto um socket para cada jogador. Cada jogador tem um endereço diferente e, sim, para cada jogador, haverá no servidor um objeto, que descreve posição, itens, e diversos outros dados do jogador.
Bancos de dados são usados sim, mas a menos que você tenha milhões de jogadores (o que nem o WOW hoje tem em um servidor só), carga não será um problema.

Em MMOs, geralmente usam-se Sockets TCP para comunicação confiável (chat, updates, login), e UDP para comunicação do estado do jogo. Na verdade, no MMO o buraco é muito mais embaixo, pois há também limitações de banda e processamento no servidor. Aquele primeiro “M” de “massive” não é brincadeira. Se você nunca desenvolveu um jogo multiplayer, comece fazendo algo para rede local, só para depois inventar moda com MMOs online.

ktinho

legal mes que vem pretendo comprar video aulas de java(server) + flash(cliente) para joguinhos nao muito grande na web:

quero passo a passo desde a arquitetura do servidor até as comunicaçoes com o cliente.

valew pela ajuda.

Criado 13 de fevereiro de 2011
Ultima resposta 14 de fev. de 2011
Respostas 2
Participantes 2