Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

falcao544

Jogo de Browser!

Recommended Posts

Obrigado Wallyson! Mas como eu já disse não quero um jogo ao nivel de Travian, Ikarian, Tribal wars e etc... Quero um joguinho simples so para testar! E sim eu sei PHP mas não esse tanto como vcs sabem! Meu conhecimento em PHP em maior que em SQL, mas como é uma coisa simples oq quero fazer, acho q não custa nada responder as perguntas acima né pessoal?

 

Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa não sie se a duvida ta de pé, mas gostaria de saber.

A resolução do porblema encontrado foi a flag dentro do banco de dados? Isso só funcionária caso o usuario em 100% das vezes desce logoff para poder alterar denovo esta flag caso contrário, caso o usuário feche o browser esta solução acaba sendo inviavel, pois dentro do banco de dados o usuário estária online, certo? afinal a ação logoof nao foi executada.

 

Não seria mais facil utilizar o registro da função?

session_id('id do usuário?')

ver em PHP MANUAL,

Sendo que para quando for efetuado o login utilizar o seguinte código:

<?php
session_start();
require_once("banco.php")
$sql = "select * from usuario";
$resultado = mysql_query($sql);
$sql = mysql_fetch_array($resultado);
session_id = $sql['id'];
?>

ou eu estou enganado?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Certo! Obrigado! Mas tem como voce dar usa exemplo usando um tempo limite de ultima atividade? tipo como pegar a ultima atividade e dependendo do tempo fazer o logout automaticamente?? obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Meus caros, não confundam a checagem a nível de usuário com a checagem a nível de servidor.

 

O pedido foi para o usuário A, atacar o usuário B quando este estiver online.

 

O usuário A não tem acesso aos cookies do usuário B, portanto a leitura de sessão está descartada!

 

O uso de sessão serve para eu verificar se quem me visita está logado, não pro meu visitante verificar se outro visitante está logado.

 

Para isso existem duas maneiras (que eu conheço):

Sockets, que poderiam ser por ligação direta entre os clientes (mas necessitaria de uma aplicação própria no estilo Adobe Shockwave) ou intermediada pelo servidor.

 

Registros no servidor. Que podem ser feitos via bancos de dados (como foi sugerido) ou em esquema de tickets (não-recomendado).

 

Já foi decidido pelo sistema de bancos de dados. Chegamos a outro problema, verificação de expira do login.

 

Pode ser criado um novo campo (por isso que eu sempre recomendo a quem está iniciando um projeto, que passe PRIMEIRO no fórum de SQL pedir uma força na modelagem) na tabela de usuários, que armazenará o valor da última atividade, que pode ser atualizado a cada request de página, uma vez que o usuário esteja logado.

 

Com base neste valor, podemos definir arbitrariamente o logout do usuário.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Meus caros, não confundam a checagem a nível de usuário com a checagem a nível de servidor.

 

O pedido foi para o usuário A, atacar o usuário B quando este estiver online.

 

O usuário A não tem acesso aos cookies do usuário B, portanto a leitura de sessão está descartada!

 

O uso de sessão serve para eu verificar se quem me visita está logado, não pro meu visitante verificar se outro visitante está logado.

 

Para isso existem duas maneiras (que eu conheço):

Sockets, que poderiam ser por ligação direta entre os clientes (mas necessitaria de uma aplicação própria no estilo Adobe Shockwave) ou intermediada pelo servidor.

 

Registros no servidor. Que podem ser feitos via bancos de dados (como foi sugerido) ou em esquema de tickets (não-recomendado).

 

Já foi decidido pelo sistema de bancos de dados. Chegamos a outro problema, verificação de expira do login.

 

Pode ser criado um novo campo (por isso que eu sempre recomendo a quem está iniciando um projeto, que passe PRIMEIRO no fórum de SQL pedir uma força na modelagem) na tabela de usuários, que armazenará o valor da última atividade, que pode ser atualizado a cada request de página, uma vez que o usuário esteja logado.

 

Com base neste valor, podemos definir arbitrariamente o logout do usuário.

 

Mas Evandro, aí não teríamos um consumo exacerbado de banda/processamento por conta dos constantes refresh's? Eu digo isso pois, como sabemos, muitas pessoas ficam o dia inteiro logados apenas dando F5 na página. Tipo, um ou dois usuários até vai, mas imagine centenas, milhares fazendo isso. Por mais que seja um jogo de teste/conclusão de curso, não devemos subestimar suas capacidades, vide um jogo que era pra ser um TCC e faz sucesso até hoje.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Gustavo, é exatamente este o objetivo. Se o usuário está olhando pra página apertando F5, você há de concordar comigo que ele está ativo, por este motivo não deve ser desconectado arbitrariamente.

 

Se a demanda de recursos do projeto crescer, vai do seu idealizador julgar se é ou não necessária a migração para um provedor/servidor(es) mais potente(s). A princípio, creio que requisições HTTP e registros em MYSQL, 300 ~ 400 usuários eu dou conta de segurar com o computador de casa. Sabendo que não é todo mundo que fica apertando F5 enlouquecidamente, consigo garantir aproximadamente 800 ~ 1000 usuários em um Pentium D(3.0) / 3GB Ram / 2MBps. Isso falando de documentos bem formados, programação bem orientada e servidor dedicado (hardware e banda).

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.