Back-End

2 jan, 2013

Melhores de 2012 – Dicas para melhorar o Long Polling com PHP

Publicidade

O que tivemos de mais interesse em 2012? Quais foram melhores artigos, as opiniões que geraram maiores discussões? Isso é o que você vai encontrar nessa seleção de artigos que fizemos especialmente para você: os melhores conteúdos de 2012. Já que final e início de ano é sempre um tempo propício para fazer um balanço do que passou e o planejamento para o que ainda virá, esperamos que os artigos publicados aqui te ajudem nisso!

Boas festas e feliz 2013! Um abraço da equipe de Redação do iMasters!

 

Bom, inicialmente quero deixar bem claro que PHP não é a melhor e mais adequada ferramenta para efetuar esse tipo de tarefa. Diferente do NodeJS (por exemplo), a cada requisição feita ao servidor que serve conteúdo com PHP, uma thread é criada e isso não é muito legal porque se temos várias requisições concorrentes ou ativas ao mesmo tempo, vai acabar gerando latência em ambos os lados (servidor e cliente).

No NodeJS, diferente do PHP, é possível manipular bastante conexões concorrentes em uma única thread, justamente porque, por padrão, o Node faz um servidor de thread única e de fato, é mais apropriado para manter várias conexões ativas, ou seja: efetuar o realtime com o cliente.

Mas não quer dizer que “o PHP é péssimo ou inútil” para fazer esse tipo de coisa, justamente porque nem sempre temos um cloud ou servidor dedicado de prontidão pra antender a demanda. Às vezes queremos fazer uma dinâmica melhor na aplicação, como o uso de realtime, mas o cliente não vai arcar com isso e não é estritamente necessário NodeJS para resolver o problema, portanto, o PHP pode ser a solução, não a melhor, mas será.

Entretanto, recentemente no meu desenvolvimento na web tenho utilizado a técnica long polling em algumas aplicações para entregar respostas em tempo real ao cliente, e usei alguns algoritmos para “quebrar o galho” com PHP, fiz bom uso deles e não tive nenhum problema tanto no cliente quanto no servidor, portanto, vamos lá!

 

Continue lendo este artigo!