Já expliquei anteriormente como instalei o Red5 versão 0.7.0 (stable) e versão 0.9.0 final. E mostrei como conectar uma aplicação Flex ao Red5 de forma bem simples, nada muito útil, então hoje vou falar um pouco mais do que já aprendi.
Como visto, normalmente a principal classe de um projeto Red5 extende a classe ApplicationAdapter que já tem uma rotina de execução para conectar cada cliente. Você pode sobrescrever os métodos conforme suas necessidades, mas não é obrigatório. Basta retornar true em todos eles para a aplicação aceitar a conexão.
** boolean appStart **
Executado uma vez quando o servidor startar.
** boolean appConnect **
Executado sempre que um cliente se conectar à aplicação.
** boolean appJoin **
Executado após o servidor aceitar a conexão do cliente.
Métodos semelhantes serão executados para cada sala (room) que o usuário entrar.
** boolean roomStart **
Executado uma vez quando a sala for criada (automaticamente quando um cliente se conectar a uma sala que ainda não existe).
** boolean roomConnect **
Executado sempre que um cliente se conectar à sala.
** boolean roomJoin **
Executado após o servidor aceitar a conexão do cliente à sala.
O cliente pode se conectar a salas que estão dentro de salas, por exemplo:
sala2 e sala3 podem estar dentro da sala1.
Um cliente se conecta à sala2 (rtmp://localhost:5080/MyRed5App/sala1/sala2) e outro à sala3 (rtmp://localhost:5080/MyRed5App/sala1/sala3).
Neste caso estes métodos serão executados para cada uma das 3 salas, fazendo com que ambos os clientes estejam na sala1, mas em sub-salas diferentes.
Um SharedObject que existir na sala1 será compartilhado por ambos, mas SharedObjects que estiverem na sala2 e 3 não serão compartilhados.
A sequência de execução no servidor seria a seguinte:
* appStart
* roomStart
* appConnect
* roomConnect
* appJoin
* roomJoin
Além destes métodos o ApplicationAdapter também possui métodos opostos chamados automaticamente quando os clientes desconectam.
** void roomLeave **
Executado sempre que um cliente sai da sala.
** void roomStop **
Executado quando o último cliente sai de uma sala.
** void appDisconnect **
Executado quando um cliente desconecta da aplicação.
** void appStop **
Este método não é automático, mas você pode executá-lo para derrubar tua aplicação.
Uma ótima fonte sobre este assunto é o Migration Guide from FCS/FMS to Red5 do Joachim Bauch.
Abraço.
Ola, tudo bem?
Estou acompanhando seus blogs sobre red 5 e achei muito bom.
Será que você tem ou sabe de alguma apostila ou livro que fale mais afundo e seja ainda mais explicativo sobre o assunto?
Bom dia Murillo.
Há alguns meses os autores do Red5 estavam escrevendo um livro pra editora Packtpub no qual eu era inclusive revisor técnico. Mas por algum motivo que desconheço o livro foi cancelado. Além desse não sei de nenhum outro material, mas não tenho procurado também, então não é impossível que haja alguma documentação mais recente. Se encontrar algo até lhe peço que me avise.
Um abraço.
Daniel