wiki:messenger/intro

Version 15 (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.

  • Faça o download do módulo Expresso Messenger nesse link ou no item Downloads do site Expresso Livre.