Red5 - Présentation et première installation |
| Écrit par Nicolas PIED | |
| Publié le 22-05-2008 - 7084 hits | |
|
Red5 est un serveur open source dont le but est d’interagir avec des lecteurs Macromedia Flash. Le protocole RTMP (pour Real Time Messaging Protocol) est utilisé comme support pour ces échanges mais il est aussi possible d’utiliser AMF , ce qui rend les possibilités applicatives nombreuses. ![]()
![]() Les modes d'installations de Red5 Concernant ce dernier type d’installation, Red5 permet que les applications soient locales ou distantes au serveur.
Environnement utilisé au sein de l’articleVoici l’environnement applicatif utilisé dans la suite de cet article :
Installation de Red5Installation de Red5 en mode « standalone »Pour l’installation du serveur Red5 en mode « standalone », il faut dans un premier temps télécharger l’installeur Windows se trouvant à l’adresse :Au sein de la page de téléchargement obtenue, téléchargez la version Windows « Java 6 version ». Si tous les slots de depositfiles pour votre pays sont pleins, il vous est toujours possible de vous rabattre vers un des serveurs miroirs. Une fois le téléchargement terminé, il vous suffit tout simplement d’exécuter l’installeur, de valider et de remplir les différentes étapes afin que Red5 soit opérationnel ; enfin presque. La dernière étape étant de démarrer le serveur à l’aide du raccourci « Start Red5 » du menu « Démarrer ». Le serveur démarré, les applications ci-dessous vous sont alors accessibles. Dans le cas contraire, vous pouvez consulter les journaux situés soit dans la fenêtre de commande ouverte lors du lancement du serveur, soit dans le dossier « logs » situé dans le répertoire d’installation de Red5. Principaux sites accessibles pour une installation du serveur Red5 en mode « standalone » :
Installation de Red5 en mode « embarqué »Cette installation, bien qu’elle puisse être réalisée sous un serveur JBoss, ne sera ici présentée que pour un Apache Tomcat 6.x fonctionnant via le JDK 1.6.Le répertoire « webapps » de Tomcat sera dans la suite de cet article référencé par $WEBAPPS$. Ainsi, $WEBAPPS$ pourrait être un alias possible du répertoire : C:\apache-tomcat-6.0.16\webapps Pour effectuer cette installation, il faut dans un premier temps télécharger les WAR de Red5, au nombre de trois, à l’adresse : http://osflash.org/red5/070final (choisissez le fichier Red5War_0.7.0.zip ou un des miroirs proposant celui-ci) Le téléchargement terminé, dézippez l’archive « Red5War_0.7.0.zip » dans un répertoire de votre choix. Son contenu se résume aux trois Web ARchives suivantes :
Le package « admin.WAR » correspond, comme son nom l’indique, au panel d’administration RIA du serveur Red5. Le package « ROOT.WAR » contient qu’en à lui toutes les classes et librairies nécessaires au fonctionnement de Red5 en mode embarqué. Le dossier ROOT, est pour Tomcat, le site racine correspondant à l’adresse : http://localhost:PORT_NUMBER/. Etape 1 : Etant donné que Tomcat dispose déjà de son propre dossier ROOT au sein de $WEBAPPS$, la première étape consiste donc à supprimer celui-ci ou à le renommer d’une façon différente. Etape 2 : Suite à cela, il vous suffit de copier les archives « admin.WAR » et « ROOT.WAR » dans le dossier $WEBAPPS$ puis de démarrer votre serveur Tomcat afin que ce dernier les déploie automatiquement. Si le démarrage du serveur Tomcat s’est bien déroulé, vous devriez maintenant pouvoir accéder :
Création d’une première application Red5Cette première application sera décomposée en deux parties :
Téléchargement des sources de l’applicationPar la poursuite de cet article, il vous est possible de télécharger les sources des exemples sur le serveur SubVersion de Red5 dont voici l’adresse :Dans ce repository, se trouvent deux dossiers :
![]() Arborescence des exemples sous SVN L’arborescence de chacun de ces projets est le suivant :
Différences entre les applications locales et distantesLes deux applications présentent un fonctionnel identique. Les seules différences consistent en la présence de Web ARrchives supplémentaires (dans le dossier lib) pour « RemoteApp ». L’une d’entre elles se nomme « red5-remoting.jar » et est obligatoire dans le cadre d’une application distante. Les autres librairies sont davantage destinées aux fonctionnalités annexes de l’application serveur (les logs par exemple) et sont par conséquent facultatives.Modification des sources Java : côté serveurAvant de procéder à la modification des sources Java, il vous faut importer les deux projets sous Eclipse.Suite à cela, nous allons ajouter une nouvelle méthode de classe, qui réalisera un écho, dans les fichiers Application.java des projets « RemoteApp » et « LocalApp ». Le code source de cette méthode est fourni ci-dessous : public String echo(String param) { return ">> " + param; }Mis à part le déploiement de l’application serveur, qui sera présenté plus loin dans cet article, et du fait qu’Eclipse compile automatiquement les sources par défaut, il n’y a donc plus rien à faire pour cette partie côté serveur. Modification des sources Flex : côté clientComme indiqué plus haut, les fichiers « .flexProperties » vont vous permettre d’importer les projets sous Flex Builder. Cette tâche réalisée, nous allons maintenant modifier toutes les occurrences de :nc.call("hello", nc_responder);Par : nc.call("echo", nc_responder, "Ma premiere application Red5");Ce qui aura pour effet d’appeler la méthode de classe « echo », précédemment créée côté serveur, avec pour paramètre « Ma premiere application Red5 ». La compilation du projet est normalement automatique sous Flex Builder ; vous êtes donc dépourvu de cette tâche. Si vous ne possédez pas Flex Builder, il vous est toutefois possible d’éditer les fichiers .mxml avec un éditeur de texte quelconque et de les compiler via le compilateur « mxmlc » présent dans le répertoire « bin » du SDK Flex (son téléchargement est gratuit). Voici à titre d’information, la syntaxe permettant la compilation du fichier RemoteApp.mxml utilisé dans un de nos projets : mxmlc RemoteApp.mxml Déploiement de notre première applicationDéploiement sur le serveur Red5 « embarqué » en mode « local »Voici la procédure à suivre pour déployer notre application d’exemple « LocalApp », précédemment modifiée, sur le serveur Red5 embarqué sous Apache Tomcat 6 :
![]() Interface Flex du client pour l'application LocalApp Vous voici donc en présence du client Flex. En cliquant sur le bouton « Connect RTMP », vous devriez obtenir pour réponse : « >> Ma premiere application » ; montrant ainsi un déploiement en local valide et des échanges RTMP client / serveur fonctionnels. Déploiement sur le serveur Red5 « embarqué » en mode « distant »Voici la procédure à suivre pour déployer notre application d’exemple « RemoteApp », précédemment modifiée, sur le serveur Red5 embarqué sous Tomcat 6 :Dossier distant « RemoteApp »
![]() Interface Flex du client pour l'application RemoteApp Vous voici donc en présence du second client Flex. En cliquant sur le bouton « Connect RTMP », vous devriez obtenir pour réponse : « >> Ma premiere application » ; montrant ainsi un déploiement distant valide et des échanges RTMP client / serveur fonctionnels. Déploiement sur le serveur Red5 « standalone »Bien que le fonctionnement général de l’application soit le même, le déploiement de notre exemple, sur le serveur Red5 « standalone », est quelque peu différent. En effet, l’architecture de l’application et certains fichiers de configuration doivent être modifiés.Intégrées au sein d’un serveur Red5 « standalone », les applications doivent respectées l’arborescence suivante :
Les sources et les binaires de cette application d’exemple sont fournis plus loin dans cet article, vous pouvez vous en servir pour les étudier, pour tester l’application, la modifier ou s’en servir de base à d’autres développements. L’archive ZIP contient le fichier « .project » d’Eclipse, ce qui facilitera son importation dans l’IDE. ![]() Interface Flex du client pour l'application InnerApp Un point important à retenir est que les sources Java doivent être liées à la Web ARchive « red5.jar » située dans le dossier d’installation du serveur Red5. Vous devez donc lier cette librairie en tant que JAR externe dans le « Build Path » du projet afin de pouvoir compiler les classes Java dépendantes de Red5. Conclusion & RéférencesCe premier article a donc eu pour but de vous présenter les principaux déploiements possibles sur un serveur Red5. Les sources, fonctionnelles pour une version de Red5 en 0.7, vous sont également fournies afin que vous puissiez les étudiez et pourquoi pas les utiliser en tant que template de base à vos futurs développements.De futurs articles auront pour but de vous présenter :
Téléchargements :
Liens relatifs à cet article : |
|
| Dernière mise à jour : 22-05-2008 |