Pages: [1] 2   Go Down
Author Topic: Probleme de connexion WebSocket  (Read 1424 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 23
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonjour,
j'essai de réaliser une connexion bidirectionnelle à base de WebSocket.
Le problème c'est qu'à chaque fois et avec plusieurs exemples trouvés sur internet cela ce deconnecte.
J'ai ce message dans le moniteur
Code:
Client connected
Analyzing request headers
Got Line: 60GET / HTTP/1.1
Got Line: Host: 192.168.1.98
Got Line: User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:16.0) Gecko/20100101 Firefox/16.0
Got Line: Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Got Line: Accept-Language: fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3
Got Line: Accept-Encoding: gzip, deflate
Got Line: Connection: keep-alive, Upgrade
Got Line: Sec-WebSocket-Version: 13
Got Line: Origin: null
Got Line: Sec-WebSocket-Key: 2eR4hNrGES7th5ZG9hkADQ==
Got Line: Pragma: no-cache
Got Line: Cache-Control: no-cache
Got Line: Upgrade: websocket
Got Line:
Header mismatch
Disconnecting client
Terminating socket
J'ai le même message avec Mozilla et Chrome
Auriez vous une idé pour me dépanner ou un exemple qui marche chez vous?
Merci d'avance
Logged

Ile-de-France (92 sud), France
Offline Offline
Edison Member
*
Karma: 24
Posts: 2055
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

J'ai recement fait des essais avec la lib de Brendan Hall https://github.com/brandenhall/Arduino-Websocket
J'ai l'impression de reconnaitre les traces de cette lib que tu as activé avec #define DEBUGGING

De mon coté j'utilisais Chrome et non pas FF. Je te suggère de faire un essai avec Chrome.
J'essayerais FF plus tard si j'ai un peu de temps.

D'après ce que je vois du code de la lib et des traces, le "Header mismatch" vient que la lib n'a pas reconnu le header "Upgrade: websocket"

Par ailleurs, j'ai eu pas mal de problèmes liés à l'utilisation des String dans cette lib. Je m'en suis sortit uniquement en mettant a jour la chaîne de compilation AVR. Si plus tard tu rencontres des problèmes de blocages incompréhensibles, ca viendra peut-être de là.
Logged

Barbuduino: Arduino sur Breadboard & VinciDuino: Clone Leonardo // WR703: Mini-routeur hacké // LauchPad MSP430 et Stellaris // Panda II Arduino-like .NetMF sous VisualC#
RTFC: Read That F.....g Code / RTFD: Read That F.....g Doc / RTFDS: Read That F.....g DataSheet / RTFS: Read That F.....g Schematic / Wot da ya wanna D.I.Y. today ?

Offline Offline
Newbie
*
Karma: 0
Posts: 23
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Non j'ai pas utilisé cette exemple car il fonctionne pour du Wifi et moi j'utilise le module Ethernet WS5100 et j'ai pas réussi à l'adapté
Logged

Ile-de-France (92 sud), France
Offline Offline
Edison Member
*
Karma: 24
Posts: 2055
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

J'ai pas touché à la lib pour l'utiliser en W5100
Voici le code de l'exemple adapté pour W5100 ci attaché et qui marche avec la lib de Brendan Hall

Qu'as tu utilisé alors ?

* WebSocketServer_demo.ino (3.84 KB - downloaded 15 times.)
Logged

Barbuduino: Arduino sur Breadboard & VinciDuino: Clone Leonardo // WR703: Mini-routeur hacké // LauchPad MSP430 et Stellaris // Panda II Arduino-like .NetMF sous VisualC#
RTFC: Read That F.....g Code / RTFD: Read That F.....g Doc / RTFDS: Read That F.....g DataSheet / RTFS: Read That F.....g Schematic / Wot da ya wanna D.I.Y. today ?

Offline Offline
Newbie
*
Karma: 0
Posts: 23
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

J'ai utilisé une autre librairie un peut plus simplifié.
Auriez vous une page HTML exemple car la ca me met "Connecting..." et plus rien!
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 23
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

J'ai mis à jour l'Avr et cela à régler quelque problème mais j'ai l'impression que mon navigateur n'arrive pas à envoyer ou recevoir les requêtes de l'arduino. J'ai essayé avec Chrome et Mozilla mais j'obtiens les mêmes effets.
T'aurais pas une idée d'où cela pourrais venir?
Logged

Ile-de-France (92 sud), France
Offline Offline
Edison Member
*
Karma: 24
Posts: 2055
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Pas la moindre puisque je ne sais toujours pas ce que tu utilises.
Je n'ai testé que la lib de Brendan Hall.
Logged

Barbuduino: Arduino sur Breadboard & VinciDuino: Clone Leonardo // WR703: Mini-routeur hacké // LauchPad MSP430 et Stellaris // Panda II Arduino-like .NetMF sous VisualC#
RTFC: Read That F.....g Code / RTFD: Read That F.....g Doc / RTFDS: Read That F.....g DataSheet / RTFS: Read That F.....g Schematic / Wot da ya wanna D.I.Y. today ?

Offline Offline
Newbie
*
Karma: 0
Posts: 23
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Je suis passer sous cette librairie pour coller à ton exemple
Logged

Ile-de-France (92 sud), France
Offline Offline
Edison Member
*
Karma: 24
Posts: 2055
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

il y a un exemple de page HTML fournie dans l'exemple
Chez moi avec Chrome 22 ca passe impeccable depuis que j'ai mis à jour le compilateur

Dans la lib, dans le fichier WebSockerServer.cpp enlève le commentaire devant #define DEBUGGING et recompile l'exemple
Que deviennent les traces ?
Logged

Barbuduino: Arduino sur Breadboard & VinciDuino: Clone Leonardo // WR703: Mini-routeur hacké // LauchPad MSP430 et Stellaris // Panda II Arduino-like .NetMF sous VisualC#
RTFC: Read That F.....g Code / RTFD: Read That F.....g Doc / RTFDS: Read That F.....g DataSheet / RTFS: Read That F.....g Schematic / Wot da ya wanna D.I.Y. today ?

Offline Offline
Newbie
*
Karma: 0
Posts: 23
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Voici ce que j'obtiens

Code:
Go...
Setting up Ethernet connection...
Arduino is at 192.168.1.98
Connecting...
Client connected
Analyzing request headers
Got Line: GET / HTTP/1.1
Got Line: Upgrade: websocket
Got Line: Connection: Upgrade
Got Line: Host: 192.168.1.98
Got Line: Origin: null
Got Line: Sec-WebSocket-Key: 4agzrjEEV8P3qSkgFGeDLQ==
Got Line: Sec-WebSocket-Version: 13
Got Line: Sec-WebSocket-Extensions: x-webkit-deflate-frame
Got Line:
Websocket established
Connected!
Sending data: a1510
Sending data: a2394
Sending data: a3330
Sending data: a1510
Sending data: a2446
Et les barres de couleur de la page HTML de l'exemple ne bouge pas et rien ne se passe qu'en je coche "pin 8" et "pin 9"
Logged

Ile-de-France (92 sud), France
Offline Offline
Edison Member
*
Karma: 24
Posts: 2055
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Coté Arduino ca se passe bien, le handshake à eu lieu et l'Arduino envoie des messages.

Il faudrait aussi voir les traces dans la console JavaScript
Dans Chrome c'est dans le menu Outils -> Console JavaScript (Ctrl+Maj+I)

Je n'ai pas testé avec FFox. J'essayerais plus tard pour voir s'il y a une différence de comportement ce qui ne serais pas étonnant vu que les WebSockets sont loin d'être super stable, que Google pousse et que FFox les a longtemps gardé désactivées.
Logged

Barbuduino: Arduino sur Breadboard & VinciDuino: Clone Leonardo // WR703: Mini-routeur hacké // LauchPad MSP430 et Stellaris // Panda II Arduino-like .NetMF sous VisualC#
RTFC: Read That F.....g Code / RTFD: Read That F.....g Doc / RTFDS: Read That F.....g DataSheet / RTFS: Read That F.....g Schematic / Wot da ya wanna D.I.Y. today ?

Offline Offline
Newbie
*
Karma: 0
Posts: 23
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Voila ce que j'ai dans Chrome

Code:
Request URL:ws://192.168.1.98/
Request Method:GET
Status Code:101 Web Socket Protocol Handshake
Request Headersview source
Connection:Upgrade
Host:192.168.1.98
Origin:null
Sec-WebSocket-Extensions:x-webkit-deflate-frame
Sec-WebSocket-Key:zRqoDVMK9lZeDA9Guca9gg==
Sec-WebSocket-Version:13
Upgrade:websocket
(Key3):00:00:00:00:00:00:00:00
Response Headersview source
Connection:Upgrade
Sec-WebSocket-Accept:nZ1GlKfjDJSC6fTE6HpC6jslD2I=
Upgrade:websocket
(Challenge Response):00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00
Et il m'annonce que j'ai 44B d4envoyer mais rien de reçu! Bizarre!
Et encore merci de prendre du temps pour m'aider
Logged

Ile-de-France (92 sud), France
Offline Offline
Edison Member
*
Karma: 24
Posts: 2055
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

C'est les traces de la console JavaScript de Chrome ca ?
Moi, les traces que j'ai c'est plutôt comme ci attaché :
Chrome : Version 22.0.1229.94 m

Comme tu peux le voir ca marche dans les 2 sens

Je n'ai pas activé les traces dans la lib.

Je regarde sous FFox maintenant


* websocket-chrome.png (68.47 KB, 600x563 - viewed 23 times.)

* websocket-arduino.png (36.14 KB, 327x580 - viewed 21 times.)
Logged

Barbuduino: Arduino sur Breadboard & VinciDuino: Clone Leonardo // WR703: Mini-routeur hacké // LauchPad MSP430 et Stellaris // Panda II Arduino-like .NetMF sous VisualC#
RTFC: Read That F.....g Code / RTFD: Read That F.....g Doc / RTFDS: Read That F.....g DataSheet / RTFS: Read That F.....g Schematic / Wot da ya wanna D.I.Y. today ?

Ile-de-France (92 sud), France
Offline Offline
Edison Member
*
Karma: 24
Posts: 2055
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Comportement exactement identique avec FFox 16.0.1
Logged

Barbuduino: Arduino sur Breadboard & VinciDuino: Clone Leonardo // WR703: Mini-routeur hacké // LauchPad MSP430 et Stellaris // Panda II Arduino-like .NetMF sous VisualC#
RTFC: Read That F.....g Code / RTFD: Read That F.....g Doc / RTFDS: Read That F.....g DataSheet / RTFS: Read That F.....g Schematic / Wot da ya wanna D.I.Y. today ?

Offline Offline
Newbie
*
Karma: 0
Posts: 23
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Autant pour moi voici console Chrome


* chrome.JPG (76.54 KB, 1280x800 - viewed 16 times.)
Logged

Pages: [1] 2   Go Up
Jump to: