O que são Long-Polling, WebSockets, SSE e Comet? Como implementar em PHP?
Olá a todos! Sou um desenvolvedor PHP iniciante e estou criando um chat simples em um site. Atualmente, tudo funciona assim: o usuário envia uma mensagem via AJAX, ela é salva no banco de dados, e os outros usuários atualizam a página manualmente (F5) para ver as novas mensagens. Isso é terrivelmente inconveniente!
Ouvi dizer que existem tecnologias para "tempo real": Long-Polling, WebSockets, SSE e Comet. Mas estou confuso com os termos. Pelo que entendi, Comet não é uma tecnologia, mas sim um padrão?
Preciso que novas mensagens apareçam para todos os usuários imediatamente, sem recarregar a página. Estou usando PHP 8.2, Apache e MySQL. Me digam, qual abordagem escolher para um chat? Tentei uma solução simples com setInterval() a cada 2 segundos, mas o servidor começa a travar com 20 usuários.
Aqui está um trecho do meu código atual (verificação de novas mensagens):
```php
// check_new_messages.php
$lastId = $_GET['last_id'];
$stmt = $pdo->prepare("SELECT * FROM messages WHERE id > ? ORDER BY id ASC");
$stmt->execute([$lastId]);
$messages = $
No answers yet.
Faça login para deixar uma resposta