Je suis en train d'obtenir un exemple simple WebSocket pour travailler sur ma machine (localhost
), je suis JavaScript et C# en cours d'exécution très bien et la connexion, sauf que Chrome se déconnecte après poignée de main.Chrome débranche après WebSockets poignée de main
J'ai cherché toute la matinée et je pense qu'il a quelque chose à voir avec la même politique de domaine, comme une autre "question" suggère, j'ai mis à jour mon navigateur à la dernière version (12.xxx
).
Cependant, je ne pouvais pas trouver une solution à mon problème.
J'utilise sur le côté C#:
ConnectionOrigin = "http://localhost:8080";
ServerLocation = "ws://localhost:8181/test";
Et je courais le JavaScript en utilisant un fichier HTML ouvert normal à partir du disque droit (file:///
dans la barre d'URL). J'ai aussi essayé d'utiliser XAMPP pour l'héberger localement mais j'ai toujours le même problème.
Attaché va la sortie du journal du programme C#:
New connection from 127.0.0.1:8181 requested. Handshaking ...
Reading handshake ...
GET /test HTTP/1.1
Upgrade: WebSocket
Connection: Upgrade
Host: localhost:8181
Origin: null
Sec-WebSocket-Key1: R 506 I 2D }6 qFB G0`@88J? 4
Sec-WebSocket-Key2: y 20 8403!24 L 5 8
Sending handshake ...
HTTP/1.1 101 Web Socket Protocol Handshake
Upgrade: WebSocket
Connection: Upgrade
WebSocket-Origin: http://localhost:8080
WebSocket-Location: ws://localhost:8181/test
New connection from 127.0.0.1:8181 established.
http://localhost:8080
Data sent to the client ["Time at the server: 23-07-2011 12:57:27"]
Client disconnected.
Waiting for another connection attempt ...
Quel serveur WebSocket utilisez-vous? Quelle erreur obtenez-vous de Chrome (dans la console javascript de Chrome)? En outre, la valeur de prise de contact que vous affichez est pour la version Hixie-76 du protocole mais ils sont incomplètes comme indiqué. Le client doit envoyer 8 octets au hasard à la fin de la poignée de main. Le serveur doit renvoyer 16 octets basés sur key1, key2 et les 8 octets aléatoires du client. – kanaka