Pergunta

Escrevi um daemon Jaxl no PHP (Debian 6.0), que fica e ouve as mensagens chegando e, em seguida, processa a mensagem recebida passando a carga útil para uma API.(ouve mensagens recebidas no USER1 @ server)

O problema que estou tendo é enviando uma mensagem de volta para o usuário.A maneira como eu fiz agora é começar outro daemon XMPP, envie a mensagem e desligue o daemon.O problema com isso é que ele está iniciando outro daemon com o Jid User1 @ Server para enviar para user2 @ server.Quando eu desligar o Jaxl, também desliga o daemon 'Ouvindo'.

Eu considerei iniciar o daemon de escuta novamente quando eu envio a mensagem, mas que demora muito para começar (1-2 segundos) e meu aplicativo não pode realmente pagar esse tempo de espera.

Alguém tem alguma ideia como eu poderia resolver isso, talvez usando o daemon de escuta para enviar mensagens também?

Foi útil?

Solução 2

Apenas para qualquer pessoa interessada nisso, acabei editando JAXL para ouvir em um soquete UDP enquanto o daemon está em execução, e se os dados forem recebidos nesse soquete UDP, use $ jaxl-> sendMessage (...) e enviar uma mensagem.Em seguida, escrevi uma função simples que envia dados para este soquete UDP sempre que quero enviar uma mensagem.

Outras dicas

Tão bom ouvir esse progresso.Embora a partir do seu código de exemplo $jaxl->sendMessage() pareça que você está usando JAXL v2.x.Eu recomendo seriamente que você atualize para JAXL v3.x se você não tiver nenhuma dependência codificadana v2.x.

Você pode seguir este tópico do grupo do Google Enviar uma mensagem por meio de uma conexão ativa existente se você está pensando em usar o v3.x, que agora tem uma maneira oficial de enviar carga útil xmpp, comunicando-se com um daemon xmpp em execução em segundo plano (IPC).Você pode até mesmo controlar remotamente seus daemons xmpp e muito mais com v3.x.

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