Version 16 (modified by rodsouza, 17 years ago) (diff) |
---|
1. Introdução
O módulo de mensagem instantânea utiliza o serviço Jabber como agente responsável pelo gerenciamento de contas e troca de mensagens.
Este serviço é orientado à conexão, a comunicação cliente-servidor é estabelecida através de socket utilizando XML seguindo o padrão XMPP.
2. Considerações Iniciais
- o serviço Jabber é orientado à conexão;
- o PHP é uma linguagem interpretada;
- o protocolo HTTP não foi projetado para manter uma conexão cliente-servidor aberta;
- requisições de background não podem ser feitas a outros domínios ou ainda outras portas ou mesmo subdomínios do domínio raiz.
Assim sendo temos algumas situalções a serem ponderadas:
- não é possível uma conexão direta entre o navegador do cliente e o serviço Jabber sem que haja um a interferência de algum meio, seja este qual for;
- para que o servidor Jabber considere um cliente conectado, é imprecindível, que uma conexão via socket esteja estabelecida e operante;
- em PHP, para manter um socket operante é necessário que o script que estabeleceu a conexão não termine sua execução;
- por não estar no escopo do protocolo HTTP a conexão contínua, um servidor jamais poderá mandar informações ao cliente sem que este as solicite.
3. Problemas
- manter operante a conexão via socket com o servidor Jabber;
- informar ao cliente (browser) novos eventos ocorridos no servidor.
4. Caminhos adotados
No que diz respeito a manter operante uma conexão via socket, em qualquer que seja a linguagem, se faz necessário uma estrutura de repetição para fazer a manutenção deste recurso. É sabido que uma estrutura de repetição utiliza recursos de máquina - processador e memória - em níveis altissímos. Por se tratar de plataforma Web, temos a seguinte problemática:
- Faça o download do módulo Expresso Messenger nesse link ou no item Downloads do site Expresso Livre.
- Página inicial do Wiki Expresso Messenger
- Página anterior: Documentação