Touch Questions sur les requetes pour dofus touch

Inscrit
11 Avril 2019
Messages
1
Reactions
0
#1
Bonjour à tous, j'ai récemment essayé de faire un projet en C# qui permetterait de se connecter a dofus touch en utilisant uniquement le réseau, c'est-à-dire en utilisant seulement des websockets et des GET/POST. Pour cela, je regarde les échanges entre le client et le serveur grace à l'interface "Network" de Lindo. Cependant, je me pose plusieurs questions quant à ces échanges.

Premièrement, est-ce que toutes les requêtes sont obligatoires ? Par exemple, la requête GET checkAssetsVersion, avec l'ID 95, si je ne l'envoie pas, est-ce que le serveur va me bloquer la connection plus tard, étant donné que je peux envoyer la requête "login" (ID 1266) même sans envoyer "checkAssetsVersion".

Ensuite, comment fonctionne les requêtes GET vers le serveur ? Elles ne contient pas d'information par rapport à la réponse attendue, les seuls paramètres à renseigner sont le Sticker et le session ID. Pour la première requête GET, le serveur revoit le Sid (ID 96), pour la seconde, il renvoie HelloConnectMessage (ID 1235) et ProtocolRequired (ID 103), pour la troisième, il renvoie "assetsVersionChecked" (ID 86), et pour la quatrième, LoginQueueStatusMessage (ID 88) et CredentialsAcknowledgementMessage(ID 53). Et ça continue après la sélection du serveur, avec d'autres ID et réponses. Il y a un ordre a respecter ? Est-ce que il faut utiliser quelque chose d'autre que GET pour demander l'information, et ensuite utiliser GET pour la récupérer ? J'ai remarqué aussi que toutes les requêtes POST étaient répondues par un simple "ok", est-ce que cela veut dire qu'il faut demander les informations avec POST, puis la récupérer avec GET ?

Pour continuer, a quoi sert l'échange "2probe"/"3probe"/"5" a chaque début de websocket ? C'est une sorte de handshake pour confirmer la connexion ?

Enfin, il arrive parfois que mes requêtes GET soient juste refusées avec comme raison : "Session ID unknown", alors que rien que 5 secondes plus tôt, l'exacte même requête marchait bien, a quoi cela peut être du ?

Merci beaucoup d'avoir déjà lu jusqu'ici, toute piste de réflexion ou solution hypothétiques/possibles sont la bienvenue :D
 
Haut Bas