2010-08-03 6 views
1

J'ai récemment écrit un petit programme de discussion basé sur AJAX. Les clients pingent le serveur occasionnellement pour de nouveaux messages et mettent à jour la vue si une modification s'est produite. Simple.Création d'une connexion entre plusieurs navigateurs entièrement côté client

Est-il possible de le faire entièrement côté client? Un ensemble de pages chargées peut-il s'identifier auprès d'autres utilisateurs et envoyer des mises à jour aux autres clients? Comment cela serait-il accompli? Pourrait-il être entièrement fait en Javascript?

Merci pour votre avis à ce sujet!

Répondre

1

En raison de la politique d'origine identique, votre JavaScript n'est pas autorisé à contacter des serveurs tiers aléatoires (ou, par conséquent, d'autres clients).

Ceci est une partie fondamentale du modèle de sécurité JavaScript. La réponse est, pour le meilleur ou pour le pire, que cela ne peut pas être fait sans passer par le serveur ou en utilisant Flash (qui a un moyen côté serveur pour assouplir la sécurité).

+0

Ce n'est pas une bonne réponse car elle est à la fois incorrecte et inadaptée à la question. SOP ne vous empêche pas de contacter d'autres serveurs (qui pourraient être des instances de navigateur), et la question tourne autour de la communication peer-to-peer, pas de communication client-serveur. –

+0

@Sean Kinsey: Avez-vous déjà essayé d'ouvrir une connexion à un hôte autre que celui qui livre votre JavaScript? Faites-le et revenez me voir. Il y a une raison pour que des choses comme les clients web SSH et les programmes de chat soient écrits comme des applets Java. – Borealid

+0

Comme je suis l'auteur de probablement le meilleur cadre pour travailler autour de la SOP (http://easyxdm.net/), oui, j'ai fait cela et beaucoup plus. POST et JSONP sont deux mécanismes qui font ce que vous dites est impossible. Et la SOP n'a rien à voir avec le domaine qui délivre le javascript, mais le domaine du document en cours d'exécution. –