Javascript serveur web?
Est-il possible de construire un micro (preuve de concept) serveur web en Javascript?
Quelqu'un a fait cela avant?.
EDIT: Apparemment explicite clarification est nécessaire ici. La question est en fin de compte sur la façon d'envoyer des données à partir du serveur vers le navigateur après la demande initiale faite par le navigateur est fermé. En d'autres termes, comment rendre le navigateur accepte les demandes ultérieures initiée par un serveur.
Un javascript serveur web doivent être installés dans le navigateur, ou est-il une autre méthode?
- Pour clarifier, la raison de ma question est d'être en mesure de mettre en œuvre une sorte de "pauvre homme" mécanisme de rappel sur HTTP. Dans otherwords, je veux être en mesure d'exécuter le serveur web dans le navigateur du client, de sorte qu'un serveur distant peut envoyer des données à l' (embedded server), le navigateur client. Confusion des sons, mais heureusement, vous avez mon point..
- Peut-être vous devriez google pour "les web sockets", mais je ne pense pas que vous allez être en mesure de mettre en œuvre une architecture tout à fait comme ce que vous décrivez.
- Node.js s'exécute sur le serveur (comme le nom du serveur web suggère).
- Ce que vous voulez vraiment est patrick dw réponse: l'utilisation de la comète. Ce que vous pensez que vous voulez, c'est impossible et en fait le résultat d'une mauvaise compréhension de la façon dont le HTTP fonctionne.
- Peu importe ce dont il a besoin, ce qu'il demande, c'est plus intéressant. Est-il possible de lancer un serveur web de JavaScript dans un navigateur? Est-il possible d'ouvrir et de les écouter sur un socket à partir de JavaScript chargé dans un navigateur? Si la réponse est oui, alors un JavaScript serveur web est certainement possible. Quelqu'un a juste besoin de mettre en œuvre le protocole http pour recevoir et répondre aux demandes. Qui signifie que vous pourriez pousser JavaScript pour quelqu'un navigateur qui démarre un serveur web qui répond à des requêtes http. Il peut être inutile, sans accès au système de fichiers...
Vous devez vous connecter pour publier un commentaire.
Si vous êtes en train de dire que vous voulez être en mesure de pousser les données pour les navigateurs qui ont pris contact avec votre serveur, j'ai fais quelques recherches sur la Comète serveurs.
Je ne sais rien à ce sujet, donc je vais juste passer quelques liens pour vous qui nous l'espérons vous pointer dans la bonne direction.
À partir de Wikipedia Comet_(programmation)
Voici quelque chose qui s'appelle l'APE. Je ne sais pas une chose à ce sujet, mais vous trouverez peut-être utile.
De l'APE site:
Découvrez la RingoJS projet, ou Node.js. La réponse est "oui", et non pas simplement "micro" ou de "preuve de concept".
RingoJS
Node.js
express.js cadre pour le nœud
Il y a un add-on pour Firefox (également disponible séparément, comme une application de bureau) a appelé Un Bon Vieux Serveur. Il est censé être en mesure d'exécuter un type spécial de JavaScript côté serveur qui a accès à toutes les fonctionnalités internes de l'navigateur web, y compris les locaux du fichier et la base de données SQLite, l'accès aux préférences du navigateur et de l'histoire, et tout ce qui peut être fait avec un add-on Firefox.
Avez-vous vu Mastodonte?
https://github.com/maccman/juggernaut/blob/master/README.md
Vous aurez à pardonner, je ne suis pas si sûr que ce exactement ce que vous cherchez, et je suis un peu un noob, mais le fichier readme fait sonner comme bon ajustement pour ce que vous décrivez.
JS HTTPD
http://acme.com/software/js_httpd/
Est un petit UNIX serveur HTTP écrit en JavaScript.
Il s'exécute à partir d'inetd, ce qui signifie que ses performances sont médiocres. Mais de faible trafic des sites, il est tout à fait adéquat. Elle implémente toutes les fonctionnalités de base d'un serveur HTTP, y compris:
js_httpd peut également être utilisé pour servir le HTTPS en l'enveloppant avec stunnel. Les Instructions sont incluses.
D'autres minuscules et/ou bizarre serveurs web (le tout géré à partir d'inetd):
http://acme.com/software/js_httpd/
Vous pourriez essayer "ewsjs est un serveur Web intégré à l'intérieur de votre navigateur. Lors de l'élaboration basée sur Ajax et simple-page-applications, il est souvent très difficile de tester ces applications jusqu'à ce qu'un serveur Web est en place. (...)
EWS fournit un serveur Web intégré qui donne à votre application Ajax comme si elle vient du serveur. Vous pouvez mettre de la logique et de tester votre application Ajax dans le navigateur, sans l'exécution d'un serveur.
EWS prend en charge plusieurs fonctionnalités clés: Enregistrement des gestionnaires pour tout chemin, l'Enregistrement des gestionnaires pour paramétrées chemins (comme Sinatra routes), l'Enregistrement d'un gestionnaire automatique (lorsque aucun autre gestionnaire de correspondance), la Réécriture de l'un à l'autre (comme dans Apache ou nginx), Asynchrone (exactement imitant vrai appels ajax)"
sur https://github.com/deitch/ewsjs