2.0 Optimisation du RawdataMessage

Inscrit
10 Mai 2015
Messages
357
Reactions
55
#1
Bonjour à tous,

J'essaie d'optimiser la gestion du RawdataMessage mais pour cela j'ai besoin d'idées. Actuellement, pour bypass le RawdataMessage j'utilise un client patch qui une fois que je lui envoie le ticket suivis de mon Rawdatamessage qui me renvoie la réponse que je renvoie au serveur. Petit problème le temps de réponse est de 2 secondes. Hors si une 100 aines de comptes se connectent à un même instant il faudra 200 secondes pour le 100e compte. Soit l'équivalent de +- 3 mins. je me demandais comment optimiser ce temps.
 
Inscrit
25 Novembre 2015
Messages
169
Reactions
20
#2
Optimiser tes IO, optimiser le serveur socket (SocketAsyncEventArgs), optimiser le protocol... Si tu part d'une base stump ou des sources du client faut pas s'étonner ! Et sinon utiliser le rawdatamessage pour l'authentification c'est pas une bonne idée, c'est trop lourd. Si tu le sérialize à chaque envoi evidemment que c'est long, si tu le stock déjà sérializé par contre dans un ImmutableArray par exemple ça va réduire de beaucoup le temps de traitement normalement
 
Dernière édition:
Inscrit
10 Mai 2015
Messages
357
Reactions
55
#3
C'est un bot dofus si jamais.
 
Inscrit
10 Mai 2015
Messages
357
Reactions
55
#5
oui mais c'est encore plus long de faire sa méthode, il est préférable que le client l'execute.
 
Dernière édition:

Labo

Membre Actif
Inscrit
16 Aout 2013
Messages
799
Reactions
15
#6

BlueDream

Administrateur
Membre du personnel
Inscrit
8 Decembre 2012
Messages
2 010
Reactions
149
#7
De toute façon le paquet n'est même plus vérifié, à quoi bon ?
 
Inscrit
13 Avril 2016
Messages
72
Reactions
0
#8
Il marche ce projet ?

Sinon tu peux essayer de paralléliser et d'avoir plusieurs clients patchés qui tournent en même temps, avec un "serveur maître" qui stocke les requêtes, les distribue aux clients inactifs et récupère les réponses.
J'ai abandonné le projet car je ne suis plus sur Dofus.
Mais il y a de quoi interpréter le RawDataMessage.
Il suffit juste d'améliorer la compilation du code, et de récupérer la sortie de la fonction principale.
Pour la fonction de hashage donné dans le RDM, je ne l'ai pas traité.
 
Inscrit
10 Mai 2015
Messages
357
Reactions
55
#9
Labo effectivement ta méthode est la bonne, avec un système de LoadBalancing qui équilibre les Rawdatamessage qui distribue au client inactif. C'est surement la meilleur solution.
 
Haut Bas