Choose another language: 

Catchcopy protocole v0002
6 posts
• Page 1 of 1
Catchcopy protocole v0002
Voir la version anglaise car la version française n'est plus maintenu
Bien qu'elle reste correcte. Lien: forum-english-catchcopy/catchcopy-protocol-v0002-t213.html
Chapitre:
Bien qu'elle reste correcte. Lien: forum-english-catchcopy/catchcopy-protocol-v0002-t213.html
Chapitre:
Enjoy ultracopier 
- alpha_one_x86
- Site Admin
- Posts: 34
- Joined: Sun Oct 26, 2008 9:09 am
Protocole
But:
Ce protocole défini la communication entre un explorateur ou toute autre application désirant faire des copies de fichiers, et un logiciel de copie.
Choix du mode de communication:
Le choix à été fait d'utilisé un QLocalServer (L'application de copie) et un QLocalSocket (l'explorateur). Sous windows cela ce traduit par des communications via un pipe nommé et sous unix un socket unix.
Cela permet d'isoler le langage (server en c++ et client en Qt) et l'architecture (serveur 32Bits pour une version portable par exemple, et client en 64Bits comme les explorateurs de windows 64Bits).
Cela permet aussi de garantir qu'on travaille en local et de détecter la déconnexion de l'application ou du plugin (suite à un crash par exemple).
Un pentium 3 à 500MHz transfère via ce mode 1Go/s, pour une liste de copie bien souvent < à 32Ko (le transfère est donc fait en 30µs soit 0.00003s ce qui est aussi bien inférieure au temps de copie), des performances supérieure ne sont donc pas utile.
Cela permet aussi de rester dans l'espace utilisateur car le socket n'est ouvert que pour utilisateur courant.
Pour windows: Le nom du pipe nommé est: "advanced-copier-[user]", où [user] est le nom d'utilisateur encoder en hexa en little endian, par example pour l'utilisateur "user" la chaine encoder depuis WCHAR est "7500730065007200", par exemple: advanced-copier-7500730065007200
Pour unix: Le chemin du socket est: "/tmp/advanced-copier-[uid]", ou [uid] est l'id de l'utilisateur courant, par exemple: /tmp/advanced-copier-1000
Recomposition et décomposition:
Toute trame doit être découpée en petit packet de 32Ko max, à cause de cette limitation avant le découpage il faut inclure en entête la taille de la trame recomposée sous forme d'un entier non signé de 32Bits.
Pour la réception, la trame doit être recomposée et on doit enlevé l'entête spécifiant la taille de la trame recomposée avant de travailler avec.
Encodage utilisé:
L'encodage choisi est l'unicode (utf16) dons chaque caractères est encodé sur 16bits en big endian. Tous les OS récents utilisent nativement cet encodage.
Format de trame recomposé:
Format d'envoi d'un ordre au server (Une fois la trame recomposé en l'entête de taille non présent):
0000DC79 est ici l'id d'ordre, généré par le client, c'est un entier non signé de 32Bits.
Donc en décomposant cela nous donne:
La réponse:
Pour la réponse, on lui renvoie l'id de l'ordre fini , le code retour, et les info de retour si besoin:
Donc en décomposant cela nous donne:
0000DC79 est ici l'id d'ordre, voir plus haut (entier non signé de 32Bits)
000001388 est le code de retour, converti en décimale ça donne 5000, soit unknow order (entier non signé de 32Bits)
Ce protocole défini la communication entre un explorateur ou toute autre application désirant faire des copies de fichiers, et un logiciel de copie.
Choix du mode de communication:
Le choix à été fait d'utilisé un QLocalServer (L'application de copie) et un QLocalSocket (l'explorateur). Sous windows cela ce traduit par des communications via un pipe nommé et sous unix un socket unix.
Cela permet d'isoler le langage (server en c++ et client en Qt) et l'architecture (serveur 32Bits pour une version portable par exemple, et client en 64Bits comme les explorateurs de windows 64Bits).
Cela permet aussi de garantir qu'on travaille en local et de détecter la déconnexion de l'application ou du plugin (suite à un crash par exemple).
Un pentium 3 à 500MHz transfère via ce mode 1Go/s, pour une liste de copie bien souvent < à 32Ko (le transfère est donc fait en 30µs soit 0.00003s ce qui est aussi bien inférieure au temps de copie), des performances supérieure ne sont donc pas utile.
Cela permet aussi de rester dans l'espace utilisateur car le socket n'est ouvert que pour utilisateur courant.
Pour windows: Le nom du pipe nommé est: "advanced-copier-[user]", où [user] est le nom d'utilisateur encoder en hexa en little endian, par example pour l'utilisateur "user" la chaine encoder depuis WCHAR est "7500730065007200", par exemple: advanced-copier-7500730065007200
Pour unix: Le chemin du socket est: "/tmp/advanced-copier-[uid]", ou [uid] est l'id de l'utilisateur courant, par exemple: /tmp/advanced-copier-1000
Recomposition et décomposition:
Toute trame doit être découpée en petit packet de 32Ko max, à cause de cette limitation avant le découpage il faut inclure en entête la taille de la trame recomposée sous forme d'un entier non signé de 32Bits.
Pour la réception, la trame doit être recomposée et on doit enlevé l'entête spécifiant la taille de la trame recomposée avant de travailler avec.
Encodage utilisé:
L'encodage choisi est l'unicode (utf16) dons chaque caractères est encodé sur 16bits en big endian. Tous les OS récents utilisent nativement cet encodage.
Format de trame recomposé:
Format d'envoi d'un ordre au server (Une fois la trame recomposé en l'entête de taille non présent):
0000DC79000000060000000200610000000400610062000000060061006200630000000800610062006300640000000a006100620063006400650000000c006100620063006400650066
0000DC79 est ici l'id d'ordre, généré par le client, c'est un entier non signé de 32Bits.
Donc en décomposant cela nous donne:
- 00000006 Taille de la liste (entier non signé de 32Bits)
- 00000002 (taille de la chaine en octets, entier non signé de 32Bits) 0061 -> a
- 00000004 (taille de la chaine en octets, entier non signé de 32Bits) 00610062 -> ab
- 00000006 (taille de la chaine en octets, entier non signé de 32Bits) 006100620063 -> abc
- 00000008 (taille de la chaine en octets, entier non signé de 32Bits) 0061006200630064 -> abcd
- 0000000a (taille de la chaine en octets, entier non signé de 32Bits) 00610062006300640065 -> abcde
- 0000000c (taille de la chaine en octets, entier non signé de 32Bits) 006100620063006400650066 -> abcdef
La réponse:
Pour la réponse, on lui renvoie l'id de l'ordre fini , le code retour, et les info de retour si besoin:
0000DC7900000138800000001000000180075006e006b006e006f00770020006f0072006400650072
Donc en décomposant cela nous donne:
0000DC79 est ici l'id d'ordre, voir plus haut (entier non signé de 32Bits)
000001388 est le code de retour, converti en décimale ça donne 5000, soit unknow order (entier non signé de 32Bits)
- 00000001 Taille de la liste (entier non signé de 32Bits)
- 00000018 (taille de la chaine en octets, entier non signé de 32Bits) 0075006e006b006e006f00770020006f0072006400650072 -> unknow order
Enjoy ultracopier 
- alpha_one_x86
- Site Admin
- Posts: 34
- Joined: Sun Oct 26, 2008 9:09 am
Envoi de plusieurs trames
Pour l'envoi de plusieurs trames et donc commande différente, ce sont les trames recomposé:
Envoi de la copie 1 à faire avec la copie id DC79:
Fin du packet précédent et début d'un nouveau packet. Les 2 trames ne doivent pas être concaténé.
Envoie de la copie 2 à faire avec la copie id DC7A (changement de numéro, car il doit étre unique):
Envoi de la copie 1 à faire avec la copie id DC79:
0000DC79000000060000000200610000000400610062000000060061006200630000000800610062006300640000000a006100620063006400650000000c006100620063006400650066
Fin du packet précédent et début d'un nouveau packet. Les 2 trames ne doivent pas être concaténé.
Envoie de la copie 2 à faire avec la copie id DC7A (changement de numéro, car il doit étre unique):
0000DC7A000000060000000200610000000400610062000000060061006200630000000800610062006300640000000a006100620063006400650000000c006100620063006400650066
Enjoy ultracopier 
- alpha_one_x86
- Site Admin
- Posts: 34
- Joined: Sun Oct 26, 2008 9:09 am
Ordre envoyé dans le protocole
Voila les ordres possibles, les chaînes entres crochets sont à remplacer par leur valeur.
Les textes des réponses peuvent fluctuer en fonction du serveur, les codes de retour non.
Le code de retour est envoyé comme unsigned int 32Bits et non pas comme chaine.
Tous les ordres non reconnus doivent être ignorés par l'application de copie:
Identification du protocole utilisé (obligatoire à la connexion):
Réponses possibles:
Détection du support des extensions de protocole utilisés et de leur version:
Réponses possible:
Identification du client (facultatif):
Réponses possible:
Demande du nom du serveur:
Réponses possible:
Envoi de la liste de copie
cp ou mv, pour copy ou move, et cp-? et mv-? pour que le logiciel demande la destination, et donc elle ne doit pas être précisé
chaque argument doit faire entre 1 caractère et 65535 caractères
la liste (cp et mv compris) doit contenir entre 3 entrée et 65535 entrées
les dossiers doivent finir par \ sous windows et / sous unix
Exemple:
Réponses possible:
Si l'ordre n'est pas reconnu:
Les textes des réponses peuvent fluctuer en fonction du serveur, les codes de retour non.
Le code de retour est envoyé comme unsigned int 32Bits et non pas comme chaine.
Tous les ordres non reconnus doivent être ignorés par l'application de copie:
Identification du protocole utilisé (obligatoire à la connexion):
- protocol
- 0002
Réponses possibles:
- 1000
- protocol supported
- 5000
- incorrect argument list size
- 5001
- incorrect argument
- 5003
- protocol not supported
Détection du support des extensions de protocole utilisés et de leur version:
- protocol extension
- [nom de l'extension]
- [version de l'extension (facultatif)]
Réponses possible:
- 1001
- protocol extension supported
- 1002
- protocol extension not supported
- 5000
- incorrect argument list size
- 5001
- incorrect argument
Identification du client (facultatif):
- client
- [nom du client]
Réponses possible:
- 1003
- client registered
- 5000
- incorrect argument list size
- 5001
- incorrect argument
Demande du nom du serveur:
- server
- name?
Réponses possible:
- 1004
- [Nom du serveur]
- 5000
- incorrect argument list size
- 5001
- incorrect argument
Envoi de la liste de copie
cp ou mv, pour copy ou move, et cp-? et mv-? pour que le logiciel demande la destination, et donc elle ne doit pas être précisé
chaque argument doit faire entre 1 caractère et 65535 caractères
la liste (cp et mv compris) doit contenir entre 3 entrée et 65535 entrées
les dossiers doivent finir par \ sous windows et / sous unix
Exemple:
- cp
- [source1]
- [source2]
- [destination]
Réponses possible:
- 1005
- finished
- 1006
- finished with error(s)
- 1007
- canceled
- 5000
- incorrect argument list size
- 5001
- incorrect argument
Si l'ordre n'est pas reconnu:
- 5002
- unknow order
Enjoy ultracopier 
- alpha_one_x86
- Site Admin
- Posts: 34
- Joined: Sun Oct 26, 2008 9:09 am
Recomposition
Si la taille max était de 1Ko:
Avant décomposition:
Après décomposition:
Packet 1:
Packet 2:
Packet 3:
Packet 4:
Avant décomposition:
00000fae0000000000000001000000260055006c0074007200610063006f007000690065007200200030002e0032002e0030002e00300000001a00000004006300700000009a002f0068006f006d0065002f00750073006
50072002f004400650073006b0074006f0070002f004400650073006b0074006f00700033002f0075006c0074007200610063006f0070006900650072002d00670065006e006500720061006c002f0075006c00740072006100630
06f0070006900650072002f007300720063002f0041006400640046006f006c006400650072002e0063007000700000009c002f0068006f006d0065002f0075007300650072002f004400650073006b0074006f0070002f00440065
0073006b0074006f00700033002f0075006c0074007200610063006f0070006900650072002d00670065006e006500720061006c002f0075006c0074007200610063006f0070006900650072002f007300720063002f0043006f00
700079005400680072006500610064002e00630070007000000096002f0068006f006d0065002f0075007300650072002f004400650073006b0074006f0070002f004400650073006b0074006f00700033002f0075006c00740072
00610063006f0070006900650072002d00670065006e006500720061006c002f0075006c0074007200610063006f0070006900650072002f007300720063002f004500770069006e0064006f0077002e006300700070000000980
02f0068006f006d0065002f0075007300650072002f004400650073006b0074006f0070002f004400650073006b0074006f00700033002f0075006c0074007200610063006f0070006900650072002d00670065006e00650072006
1006c002f0075006c0074007200610063006f0070006900650072002f007300720063002f0046004500770069006e0064006f0077002e00630070007000000096002f0068006f006d0065002f0075007300650072002f004400650
073006b0074006f0070002f004400650073006b0074006f00700033002f0075006c0074007200610063006f0070006900650072002d00670065006e006500720061006c002f0075006c0074007200610063006f007000690065007
2002f007300720063002f004d00770069006e0064006f0077002e00630070007000000096002f0068006f006d0065002f0075007300650072002f004400650073006b0074006f0070002f004400650073006b0074006f007000330
02f0075006c0074007200610063006f0070006900650072002d00670065006e006500720061006c002f0075006c0074007200610063006f0070006900650072002f007300720063002f004f007000740069006f006e0073002e006
30070007000000092002f0068006f006d0065002f0075007300650072002f004400650073006b0074006f0070002f004400650073006b0074006f00700033002f0075006c0074007200610063006f0070006900650072002d006
70065006e006500720061006c002f0075006c0074007200610063006f0070006900650072002f007300720063002f005500490063006f006e002e0063007000700000009e002f0068006f006d0065002f0075007300650072002f0
04400650073006b0074006f0070002f004400650073006b0074006f00700033002f0075006c0074007200610063006f0070006900650072002d00670065006e006500720061006c002f0075006c0074007200610063006f0070006
900650072002f007300720063002f00570072006900740065005400680072006500610064002e0063007000700000009c002f0068006f006d0065002f0075007300650072002f004400650073006b0074006f0070002f004400650
073006b0074006f00700033002f0075006c0074007200610063006f0070006900650072002d00670065006e006500720061006c002f0075006c0074007200610063006f0070006900650072002f007300720063002f00680065006
c0070006400690061006c006f0067002e00630070007000000090002f0068006f006d0065002f0075007300650072002f004400650073006b0074006f0070002f004400650073006b0074006f00700033002f0075006c007400720
0610063006f0070006900650072002d00670065006e006500720061006c002f0075006c0074007200610063006f0070006900650072002f007300720063002f006d00610069006e002e006300700070000000a2002f0068006f006
d0065002f0075007300650072002f004400650073006b0074006f0070002f004400650073006b0074006f00700033002f0075006c0074007200610063006f0070006900650072002d00670065006e006500720061006c002f0075006c0074007200610063006f0070006900650072002f007300720063002f006d006f0063005f0041006400640046006f006c006400650072002e006300700070000000a4002f0068006f006d0065002f0075007300650072002f004400650073006b0074006f0070002f004400650073006b0074006f00700033002f0075006c0074007200610063006f0070006900650072002d00670065006e006500720061006c002f0075006c0074007200610063006f0070006900
650072002f007300720063002f006d006f0063005f0043006f00700079005400680072006500610064002e0063007000700000009e002f0068006f006d0065002f0075007300650072002f004400650073006b0074006f0070002f0
04400650073006b0074006f00700033002f0075006c0074007200610063006f0070006900650072002d00670065006e006500720061006c002f0075006c0074007200610063006f0070006900650072002f007300720063002f
006d006f0063005f004500770069006e0064006f0077002e006300700070000000a0002f0068006f006d0065002f0075007300650072002f004400650073006b0074006f0070002f004400650073006b0074006f00700033002f007
5006c0074007200610063006f0070006900650072002d00670065006e006500720061006c002f0075006c0074007200610063006f0070006900650072002f007300720063002f006d006f0063005f0046004500770069006e00640
06f0077002e0063007000700000009e002f0068006f006d0065002f0075007300650072002f004400650073006b0074006f0070002f004400650073006b0074006f00700033002f0075006c0074007200610063006f00700069006
50072002d00670065006e006500720061006c002f0075006c0074007200610063006f0070006900650072002f007300720063002f006d006f0063005f004d00770069006e0064006f0077002e0063007000700000009e002f00680
06f006d0065002f0075007300650072002f004400650073006b0074006f0070002f004400650073006b0074006f00700033002f0075006c0074007200610063006f0070006900650072002d00670065006e006500720061006c002
f0075006c0074007200610063006f0070006900650072002f007300720063002f006d006f0063005f004f007000740069006f006e0073002e0063007000700000009a002f0068006f006d0065002f0075007300650072002f004400
650073006b0074006f0070002f004400650073006b0074006f00700033002f0075006c0074007200610063006f0070006900650072002d00670065006e006500720061006c002f0075006c0074007200610063006f007000690065
0072002f007300720063002f006d006f0063005f005500490063006f006e002e006300700070000000a6002f0068006f006d0065002f0075007300650072002f004400650073006b0074006f0070002f004400650073006b0074006
f00700033002f0075006c0074007200610063006f0070006900650072002d00670065006e006500720061006c002f0075006c0074007200610063006f0070006900650072002f007300720063002f006d006f0063005f005700720
06900740065005400680072006500610064002e006300700070000000a4002f0068006f006d0065002f0075007300650072002f004400650073006b0074006f0070002f004400650073006b0074006f00700033002f0075006c007
4007200610063006f0070006900650072002d00670065006e006500720061006c002f0075006c0074007200610063006f0070006900650072002f007300720063002f006d006f0063005f00680065006c0070006400690061006
c006f0067002e006300700070000000a6002f0068006f006d0065002f0075007300650072002f004400650073006b0074006f0070002f004400650073006b0074006f00700033002f0075006c0074007200610063006f0070006900
650072002d00670065006e006500720061006c002f0075006c0074007200610063006f0070006900650072002f007300720063002f006d006f0063005f0073007000610063006500570069006e0064006f0077002e006300700070
000000a2002f0068006f006d0065002f0075007300650072002f004400650073006b0074006f0070002f004400650073006b0074006f00700033002f0075006c0074007200610063006f0070006900650072002d00670065006e00
6500720061006c002f0075006c0074007200610063006f0070006900650072002f007300720063002f007100720063005f007200650073006f00750072006300650073002e006300700070000000b8002f0068006f006d0065002f
0075007300650072002f004400650073006b0074006f0070002f004400650073006b0074006f00700033002f0075006c0074007200610063006f0070006900650072002d00670065006e006500720061006c002f0075006c007400
7200610063006f0070006900650072002f007300720063002f007100720063005f007200650073006f00750072006300650073005f007300740079006c0065005f006b006400650033002e00630070007000000098002f0068006f
006d0065002f0075007300650072002f004400650073006b0074006f0070002f004400650073006b0074006f00700033002f0075006c0074007200610063006f0070006900650072002d00670065006e006500720061006c002f00
75006c0074007200610063006f0070006900650072002f007300720063002f00720065006700690073007400650072002e0063007000700000009e002f0068006f006d0065002f0075007300650072002f004400650073006b0074
006f0070002f004400650073006b0074006f00700033002f0075006c0074007200610063006f0070006900650072002d00670065006e006500720061006c002f0075006c0074007200610063006f0070006900650072002f007300
720063002f0073007000610063006500570069006e0064006f0077002e00630070007000000042002f0068006f006d0065002f0075007300650072002f004400650073006b0074006f0070002f004400650073006b0074006f0070
0033002f0064006500730074002f
Après décomposition:
Packet 1:
- Code: Select all
00000fae0000000000000001000000260055006c0074007200610063006f007000690065007200200030002e0032002e0030002e00300000001a00000004006300700000009a002f0068006f006d0065002f007500730065
0072002f004400650073006b0074006f0070002f004400650073006b0074006f00700033002f0075006c0074007200610063006f0070006900650072002d00670065006e006500720061006c002f0075006c007400720061006300
6f0070006900650072002f007300720063002f0041006400640046006f006c006400650072002e0063007000700000009c002f0068006f006d0065002f0075007300650072002f004400650073006b0074006f0070002f004400650
073006b0074006f00700033002f0075006c0074007200610063006f0070006900650072002d00670065006e006500720061006c002f0075006c0074007200610063006f0070006900650072002f007300720063002f0043006f007
00079005400680072006500610064002e00630070007000000096002f0068006f006d0065002f0075007300650072002f004400650073006b0074006f0070002f004400650073006b0074006f00700033002f0075006c007400720
0610063006f0070006900650072002d00670065006e006500720061006c002f0075006c0074007200610063006f0070006900650072002f007300720063002f004500770069006e0064006f0077002e0063007000700000009800
2f0068006f006d0065002f0075007300650072002f004400650073006b0074006f0070002f004400650073006b0074006f00700033002f0075006c0074007200610063006f0070006900650072002d00670065006e006500720061
006c002f0075006c0074007200610063006f0070006900650072002f007300720063002f0046004500770069006e0064006f0077002e00630070007000000096002f0068006f006d0065002f0075007300650072002f0044006500
73006b0074006f0070002f004400650073006b0074006f00700033002f0075006c0074007200610063006f0070006900650072002d00670065006e006500720061006c002f0075006c0074007200610063006f0070006900650072
002f007300720063002f004d00770069006e0064006f0077002e00630070007000000096002f0068006f006d0065002f0075007300650072002f004400650073006b0074006f0070002f004400650073006b0074006f0070003300
2f0075006c0074007200610063006f0070006900650072002d00670065006e006500720061006c002f0075006c0074007200610063006f0070006900650072002f007300720063002f004f007000740069006f006e0073002e0063
0070007000000092002f0068006f006d0065002f007500730065
Packet 2:
- Code: Select all
0072002f004400650073006b0074006f0070002f004400650073006b0074006f00700033002f0075006c0074007200610063006f0070006900650072002d00670065006e006500720061006c002f0075006c0074007200610
063006f0070006900650072002f007300720063002f005500490063006f006e002e0063007000700000009e002f0068006f006d0065002f0075007300650072002f004400650073006b0074006f0070002f004400650073006b007
4006f00700033002f0075006c0074007200610063006f0070006900650072002d00670065006e006500720061006c002f0075006c0074007200610063006f0070006900650072002f007300720063002f005700720069007400650
05400680072006500610064002e0063007000700000009c002f0068006f006d0065002f0075007300650072002f004400650073006b0074006f0070002f004400650073006b0074006f00700033002f0075006c007400720061006
3006f0070006900650072002d00670065006e006500720061006c002f0075006c0074007200610063006f0070006900650072002f007300720063002f00680065006c0070006400690061006c006f0067002e00630070007000000
090002f0068006f006d0065002f0075007300650072002f004400650073006b0074006f0070002f004400650073006b0074006f00700033002f0075006c0074007200610063006f0070006900650072002d00670065006e0065007
20061006c002f0075006c0074007200610063006f0070006900650072002f007300720063002f006d00610069006e002e006300700070000000a2002f0068006f006d0065002f0075007300650072002f004400650073006b00740
06f0070002f004400650073006b0074006f00700033002f0075006c0074007200610063006f0070006900650072002d00670065006e006500720061006c002f0075006c0074007200610063006f0070006900650072002f0073007
20063002f006d006f0063005f0041006400640046006f006c006400650072002e006300700070000000a4002f0068006f006d0065002f0075007300650072002f004400650073006b0074006f0070002f004400650073006b00740
06f00700033002f0075006c0074007200610063006f0070006900650072002d00670065006e006500720061006c002f0075006c0074007200610063006f0070006900650072002f007300720063002f006d006f0063005f0043006f
00700079005400680072006500610064002e0063007000700000009e002f0068006f006d0065002f0075007300650072002f004400650073006b0074006f0070002f004400650073006b0074006f00700033002f0075006c007400
7200610063006f0070006900650072002d00670065006e0065
Packet 3:
- Code: Select all
00720061006c002f0075006c0074007200610063006f0070006900650072002f007300720063002f006d006f0063005f004500770069006e0064006f0077002e006300700070000000a0002f0068006f006d0065002f00750
07300650072002f004400650073006b0074006f0070002f004400650073006b0074006f00700033002f0075006c0074007200610063006f0070006900650072002d00670065006e006500720061006c002f0075006c00740072006
10063006f0070006900650072002f007300720063002f006d006f0063005f0046004500770069006e0064006f0077002e0063007000700000009e002f0068006f006d0065002f0075007300650072002f004400650073006b00740
06f0070002f004400650073006b0074006f00700033002f0075006c0074007200610063006f0070006900650072002d00670065006e006500720061006c002f0075006c0074007200610063006f0070006900650072002f0073007
20063002f006d006f0063005f004d00770069006e0064006f0077002e0063007000700000009e002f0068006f006d0065002f0075007300650072002f004400650073006b0074006f0070002f004400650073006b0074006f007000
33002f0075006c0074007200610063006f0070006900650072002d00670065006e006500720061006c002f0075006c0074007200610063006f0070006900650072002f007300720063002f006d006f0063005f004f007000740069
006f006e0073002e0063007000700000009a002f0068006f006d0065002f0075007300650072002f004400650073006b0074006f0070002f004400650073006b0074006f00700033002f0075006c0074007200610063006f007000
6900650072002d00670065006e006500720061006c002f0075006c0074007200610063006f0070006900650072002f007300720063002f006d006f0063005f005500490063006f006e002e006300700070000000a6002f0068006f
006d0065002f0075007300650072002f004400650073006b0074006f0070002f004400650073006b0074006f00700033002f0075006c0074007200610063006f0070006900650072002d00670065006e006500720061006c002f00
75006c0074007200610063006f0070006900650072002f007300720063002f006d006f0063005f00570072006900740065005400680072006500610064002e006300700070000000a4002f0068006f006d0065002f007500730065
0072002f004400650073006b0074006f0070002f004400650073006b0074006f00700033002f0075006c0074007200610063006f0070006900650072002d00670065006e006500720061006c002f0075006c007400720061006300
6f0070006900650072002f007300720063002f006d006f0063
Packet 4:
- Code: Select all
005f00680065006c0070006400690061006c006f0067002e006300700070000000a6002f0068006f006d0065002f0075007300650072002f004400650073006b0074006f0070002f004400650073006b0074006f007000330
02f0075006c0074007200610063006f0070006900650072002d00670065006e006500720061006c002f0075006c0074007200610063006f0070006900650072002f007300720063002f006d006f0063005f0073007000610063006
500570069006e0064006f0077002e006300700070000000a2002f0068006f006d0065002f0075007300650072002f004400650073006b0074006f0070002f004400650073006b0074006f00700033002f0075006c0074007200610
063006f0070006900650072002d00670065006e006500720061006c002f0075006c0074007200610063006f0070006900650072002f007300720063002f007100720063005f007200650073006f00750072006300650073002e006
300700070000000b8002f0068006f006d0065002f0075007300650072002f004400650073006b0074006f0070002f004400650073006b0074006f00700033002f0075006c0074007200610063006f0070006900650072002d00670
065006e006500720061006c002f0075006c0074007200610063006f0070006900650072002f007300720063002f007100720063005f007200650073006f00750072006300650073005f007300740079006c0065005f006b0064006
50033002e00630070007000000098002f0068006f006d0065002f0075007300650072002f004400650073006b0074006f0070002f004400650073006b0074006f00700033002f0075006c0074007200610063006f0070006900650
072002d00670065006e006500720061006c002f0075006c0074007200610063006f0070006900650072002f007300720063002f00720065006700690073007400650072002e0063007000700000009e002f0068006f006d006500
2f0075007300650072002f004400650073006b0074006f0070002f004400650073006b0074006f00700033002f0075006c0074007200610063006f0070006900650072002d00670065006e006500720061006c002f0075006c0074
007200610063006f0070006900650072002f007300720063002f0073007000610063006500570069006e0064006f0077002e00630070007000000042002f0068006f006d0065002f0075007300650072002f004400650073006b00
74006f0070002f004400650073006b0074006f00700033002f0064006500730074002f
Enjoy ultracopier 
- alpha_one_x86
- Site Admin
- Posts: 34
- Joined: Sun Oct 26, 2008 9:09 am
Exemple de communication
Connexion du client (l'explorateur, ou soft charger d'envoyer des copies) sur le serveur (le logiciel de copie)
Enregistrement du protocole
Client -> Serveur: requête 00000001, array("protocol","0002")
Réponse du serveur à la requête 00000001
Serveur -> Client: réponse à la requête 00000001,1000, array("protocol supported")
Enregistrement du protocole
Client -> Serveur: requête 00000001, array("protocol","0002")
00000001000000020000001000700072006f0074006f0063006f006c000000080030003000300032
Réponse du serveur à la requête 00000001
Serveur -> Client: réponse à la requête 00000001,1000, array("protocol supported")
00000001000003E8000000010000002400700072006f0074006f0063006f006c00200073007500700070006f0072007400650064
Enjoy ultracopier 
- alpha_one_x86
- Site Admin
- Posts: 34
- Joined: Sun Oct 26, 2008 9:09 am
6 posts
• Page 1 of 1

