3 votes

Serveur Javascript côté client - possible ?

Grande journée, communauté.

La question suivante est la suivante : est-il possible d'exécuter un simple serveur HTTP sur le javascript côté client qui sera capable de recevoir des demandes du réseau global et de les traiter d'une manière ou d'une autre ?

Par exemple, dans un node.js, je peux exécuter un serveur avec le code suivant :

var http = require('http');
http.createServer().listen(3000, '127.0.0.1');

et ensuite j'aurai un serveur fonctionnant sur 127.0.0.1:3000 Je me demande si quelque chose de similaire peut être mis en œuvre avec un simple javascript côté client.

2voto

FeifanZ Points 9348

Les définitions de "client" et "serveur" sont relatives. Node peut être un serveur lorsqu'il envoie des données aux clients ; une application Node peut également être un client d'un autre serveur (par exemple, lorsque vous effectuez un appel API).

On dirait que vous demandez si vous pouvez créer un "serveur" en utilisant JS dans le navigateur. Ce n'est pas possible, mais c'est parce que la plupart des navigateurs sont conçus pour être uniquement des clients, et non des serveurs - ils peuvent seulement faire demandes, et non répondre à à eux. En particulier, Node lui-même se connecte à des sockets au niveau du système, qui activer il s'agit d'un serveur. Les navigateurs ne permettent pas à votre code Javascript d'accéder à ces sockets au niveau du système, c'est pourquoi ce n'est pas possible.

Hypothétiquement, s'ils le font, alors vous finirez par revenir à Node. Ou à recréer votre propre version de Node.

Notez que vous avez des WebSockets dans le navigateur ; tout autre "client" peut se trouver de l'"autre côté" de ce socket. Vous pourriez donc mettre en place une configuration client/serveur rudimentaire de cette manière, mais cela ne fonctionnerait pas avec d'autres clients HTTP.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X