Pergunta

Vamos dizer que eu tenho um programa de bate-papo que cada vez que alguém envia uma mensagem, uma globalfile está bloqueado e gravados. O cliente receptor tem um pedido pendente xmlhttp que está esperando para voltar com o arquivo recém-atualizado utilizando esta construção:

while (!hasNewdata())
{    sleep 3;    }
print "$thenewdata";
sub hasNewData()
{
     # determine if global file has been appended to.
}

Será que enviar o tamanho do arquivo para o cliente e, em seguida, de volta para o servidor na próxima solicitação de poll ser um bom método de fazer isso, como agora podemos verificar se o tamanho do arquivo é diferente do que já foi enviado de volta para o cliente para que sabemos que há novos dados. Ou enviar o arquivo deslocamento para trás e ser uma abordagem melhor que ele saiba onde no arquivo para verificar se há novos dados? Ou um método completamente diferente, algo diferente do que usando um arquivo global 'bate-papo'?

O que são métodos gerais de determinação 'novos dados disponíveis'

Foi útil?

Solução

Você pode usar a data de modificação.

$last_modified = filemtime("thisfile.php");

Outras dicas

O tamanho do arquivo não é uma maneira ruim.

Navegadores poderia muito bem já estar marcação "If-Modified-Since" cabeçalhos para os pedidos.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top