Connexion à HTML5 Websocket
Je suis un peu confus sur les Websockets HTML5. J'ai regardé de nombreux tutoriels là-bas et beaucoup d'entre eux ont différentes variantes de connexion à l'aide de différents ports. Que faire de ces ports veux dire?
Adobe par exemple, utilise ceci:
new WebSocket('ws://localhost:1740');
Puis un autre tutoriel est-ce là pas de ports sont nécessaires:
new WebSocket("ws://www.websockets.org");
Et enfin un troisième tutoriel a un port, mais c'est complètement différent:
new WebSocket("ws://localhost:8080/echo");
Ma question serait, pourquoi ces varier? Comment puis-je savoir lequel des ports pour connecter? Aussi, j'ai tenté de faire ma propre connexion:
var ws = new WebSocket("ws://test.ontarget-network.com/");
Mais j'obtiens l'erreur suivante: Unexpected response code: 200
J'ai testé autour et a essayé de la connexion à divers autres "ports" (ne sachant pas ce que je fais de toute évidence, la saisie de nombres aléatoires) et cette erreur serait de disparaître, cependant, mon code
ws.onopen = function(){
alert("Connection Established");
};
ne serait pas exécuter.
Je suis en train d'essayer de comprendre pleinement les Websockets HTML5 API afin que je puisse expérimenter et à créer plus d'applications dynamiques. Merci pour l'aide.
source d'informationauteur Majo0od | 2013-01-28
Vous devez vous connecter pour publier un commentaire.
La suivante vient de la dernière WebSocket projet:
Vraiment bien, vous devriez être en mesure d'utiliser toutes les valides port n'est pas utilisé. Aussi longtemps que les clients essaient de se connecter sur le même port que le script côté serveur s'ouvre pour la connexion de socket, vous devriez être bien.
Une note rapide sur les ports:
- Le Port 80 est le port HTTP.
- Le Port 8080 est le suppléant de port HTTP.
- Le Port 443 est le HTTPS (c'est à dire, HTTP avec TLS) port.
- Port 1740 dans le code Adobe semble que certains de port aléatoire est pas déjà en cours d'utilisation par d'autres services.
Pour une pleine liste de présélection des ports, veuillez consulter les documents suivants:
http://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers
Que pour votre "réponse Inattendue code: 200" erreur, je suppose que le WebSocket URL que vous utilisez sur le côté client n'est pas en montrant une valide de script côté serveur, mais c'est difficile de commenter sans plus d'info.
Le serveur doit avoir un point de terminaison qui accepte WebSocket connexions. Donc, si le point de terminaison est
/echo
vous voulez vous connecter à:Vous obtiendrez la
Unexpected response code: 200
erreur si on exclut les/websocket
suffixe après le point de terminaison. J'ai eu la même confusion et ce lien clarifier les choses un peu pour moi.J'ai eu le même problème, Mais pour survivre avec
Vous avez besoin d'avoir un script côté serveur pour gérer le web socket, ou vous pouvez utiliser Node.js de construire un vous serveur de script.
pour l'amour de l'éducation, vous pouvez essayer de biuld votre propre websocket sever script.
En fait il y a autre chose... Vous ne pouvez pas ouvrir une connexion à chaque port car il y a une liste des ports bloqués dans chaque navigateur. Je me souviens avoir vu la liste complète des ports dans "L'enchevêtrement" de Michal Zalewski; cependant, je pense qu'un rapide google se montrer aussi.