2010-04-11 4 views
4

Est-il possible d'utiliser une application Adobe AIR en tant que serveur http local? c'est-à-dire l'application Adobe AIR en écoutant http://localhost:8020 et je suis capable d'utiliser un navigateur pour accéder à l'application? Si je peux, est-ce vrai ou pseudo multithreading?Application Adobe AIR en tant que serveur http?

Existe-t-il une bibliothèque ou un code que je puisse rechercher?

+0

J'espère bien que non. –

+0

NSD: vous n'espérez pas pourquoi? – fenomas

Répondre

3

La possibilité d'écouter des ports est une nouvelle fonctionnalité de AIR 2, qui devrait bientôt sortir mais est actuellement en version bêta. Si vous utilisez la version 2, vous pouvez certainement créer un serveur HTTP si vous le souhaitez. Un exemple général de construction d'un serveur socket peut être trouvé here.

Notez que les applications AIR sont pilotées par des événements et non par des threads. Vous pouvez bien sûr gérer plusieurs connexions, donc je suppose que le runtime lui-même les entraîne dans des threads différents, mais le code que vous écrivez ne gère pas le threading ou le blocage, vous inscrivez simplement pour les événements sur connection, data, etc. leur. (Cela peut être ce que vous voulez dire par Pseudo-thread, je ne suis pas vraiment sur de telles choses.)

Cependant, il y a une très grande mise en garde à cela, qui est que AIR n'est pas actuellement recommandé par Adobe pour sans tête applications de type serveur. Si je comprends bien, il pourrait y avoir des cas où le moteur d'exécution a surgi une boîte de dialogue de confirmation, et certaines choses à propos de l'application pourraient ne pas fonctionner correctement jusqu'à ce que vous avez quitté le serveur pour fermer la boîte de dialogue.

-1

Vous pouvez utiliser le contrôle HTML pour cela.

<mx:HTML width="100%" height="100%" id="html" x="0" y="0" location="http://localhost:80/"/>