jQuery
En savoir plus
Adobe Flex & Flash
En savoir plus
ASP.NET
En savoir plus

Inscris-toi au e-camp "Héberge ton jeu Facebook sur Azure" de Microsoft vendredi 25 mai à 13h30 !
| Page 1 | |||
| Auteur | Message | ||
|---|---|---|---|
| 1 visiteur sur ce sujet (1 Anonyme) | |||
| Page 1 | |||
blister
|
# Posté le 22/10/2010 à 22:24:37 | ||
![]()
Études : SUPINFO Normandie à Caen |
Bonjour,
Je ne savais pas trop ou poster. Je suis actuellement entrain de créer un serveur websocket en python cependant je n'arrive pas a faire la validation du handshake je m'explique. Tout d'abord je me sert du draft du protocole websocket http://tools.ietf.org/html/draft-ietf-hybi-thewebsocketprotocol-03 Ensuite la poignet de mains commence par le handshake du client puis je doit renvoyer celui du serveur suivant ce qu'envoie le client. Dans celui du clients 3 info nous interesse pour valider le handshake la Key1, Key2 et le code qui est à la fin du hanshake. Moi au niveau du serveur je doit, si j'ai bien compris le protocole ,effectuer une opération au niveau de chaque clé. cet operation consiste à concatener tous les chiffres d'une clé puis de divisé ce nombre par le nombre d'espace puis de faire un pack en unsigned long interger big endian du résultat. je fais la même chose avec la clé 2. Ensuite j'additionne la clé 1, 2 et le code de fin handshake et j'applique un md5 la dessus Citation : Exemple de handshake client GET /demo HTTP/1.1 Host: example.com Connection: Upgrade Sec-WebSocket-Key2: 12998 5 Y3 1 .P00 Sec-WebSocket-Protocol: sample Upgrade: WebSocket Sec-WebSocket-Key1: 18x 6]8vM;54 *(5: { U1]8 z [ 8 Sec-WebSocket-Key2: 1_ tx7X d < nw 334J702) 7]o}` 0 Origin: http://example.com Tm[K T2u Citation : Exemple de handshake Serveur HTTP/1.1 101 WebSocket Protocol Handshake Upgrade: WebSocket Connection: Upgrade Sec-WebSocket-Origin: http://example.com Sec-WebSocket-Location: ws://example.com/demo Sec-WebSocket-Protocol: sample fQJ,fN/4F4!~K~MH Voilà pour l'introduction. Malheureusement je n'arrive pas à produire la code pour signer le handshake serveur en tout cas à chaque fois j'ai une déconnection du clients car la clé est mauvaise... Voici mon code pour générer le handshake à partir de celui du clients Code : Python
J'espère que vous pourrez m'aider. Blister
Édité
le 22/10/2010 à 22:33:19
par blister
|
||
| Publicité | # Posté le 22/10/2010 à 22:24:37 | ||
|
|
|||
excelise
|
# Posté le 29/01/2011 à 15:31:39 | ||
|
|
Bonjour,
Je n'arrive pas non plus à créer une connexion entre le client et le serveur ! Je travaille également sous Python. Mon serveur reçoit le handshake du client, mais cela s'arrête là ! Ce qui est curieux, c'est que tu cherches une clef dans le handshake du client, non ? Cela m'étonne car j'ai trouvé des serveurs Python sur internet qui envoient la même chose au client quel que soit le handshake du client. A titre d'exemple, le code d'Adrian Gaudebert. Pourrais-tu me renseigner sur ce point ? Merci par avance |
||
fred1599
|
# Posté le 29/01/2011 à 22:22:12 | ||
![]()
|
Bon j'y connais rien là dedans, mais je retiens ceci
Citation cet operation consiste à concatener tous les chiffres d'une clé puis de divisé ce nombre par le nombre d'espace Vite fait je ferais ceci Code : Python Console
Citation puis de faire un pack en unsigned long interger big endian du résultat Là j'ai rien capté!
Édité
le 29/01/2011 à 22:24:47
par fred1599
|
||
quelqun_dautre
|
# Posté le 30/01/2011 à 14:50:08 | ||
<3![]()
Études : IUT Toulon |
Comme j'ai le beau code, j'aurais plutôt fait ca:
Citation : fred1599 Code : Python
Mais ensuite c'est personnel, et ca n'aide pas beaucoup l'OP. THE GAME. |
||
FMIS@Menace.
|
# Posté le 01/02/2011 à 18:37:27 | ||
![]()
|
Si ça peut aider :
Code : Python
|
||
excelise
|
# Posté le 02/02/2011 à 23:38:13 | ||
|
|
Merci à vous trois !
|
||
Retour au forum "Langage Python" ou à la liste des forums
