2.0 Protocol D2 Packets

Inscrit
12 Avril 2017
Messages
72
Reactions
2
#1
Bonsoir, je n'arrive pas à comprendre comment différencier les paquets qui sont envoyés par le serveur et ceux par le client. Je m'inspire de ce tutorie https://cadernis.fr/index.php?threads/tuto-bot-socket-les-fondamentaux.491/, je ne comprends pas pourquoi HelloConnectMessage est envoyé par le client et donc juste sérialisé et ServerListMessage est envoyé par le serveur donc juste désérialisé. Leurs structures avec leurs enum correspondantes aux packetserverenum et ClientServerEnum et leurs interfaces sont structurés par rapport au tuto.
 
Inscrit
27 Juin 2012
Messages
238
Reactions
0
#2
Salut.

Sauf si ça à encore changé depuis que j'ai regardé, de mémoire le HCM est envoyé par le serveur donc c'est à toi de le deserialize !
 
Inscrit
12 Avril 2017
Messages
72
Reactions
2
#3
Salut.

Sauf si ça à encore changé depuis que j'ai regardé, de mémoire le HCM est envoyé par le serveur donc c'est à toi de le deserialize !
Oui effectivement, mais ce que je ne comprends pas c'est comment savoir quels pakets je dois deserialize car c'est le serveur qui les send et lesquelles je dois les serialize car c'est le client qui les send. Je n'arrive pas à savoir lesquelles vont heriter de l'interface IPacketServer et lesquelles vont hériter de l'interface IPacketClient
 

tazman59

Contributeur
Inscrit
20 Decembre 2012
Messages
149
Reactions
27
#4
À part modification, il n’y a pas d’interfaces nommées ainsi *-*.
Regarde dans les sources du jeu, dans les « frames », tu y verras les actions exécutées à chaque réception de message et tu pourras en déduire quels paquets sont envoyés par ton client et ceux que tu reçois du serveur
 
Inscrit
12 Avril 2017
Messages
72
Reactions
2
#5
À part modification, il n’y a pas d’interfaces nommées ainsi *-*.
Regarde dans les sources du jeu, dans les « frames », tu y verras les actions exécutées à chaque réception de message et tu pourras en déduire quels paquets sont envoyés par ton client et ceux que tu reçois du serveur
Merci pour l'astuce je ne connaissais pas <<frames>>, concernant les interfaces je faisais ref au tuto sur le bot le gars définit une Interface IPacketClient et IPacketServer pour que les classes gérant les packets ont meme structure.
 

tazman59

Contributeur
Inscrit
20 Decembre 2012
Messages
149
Reactions
27
#6
Sur le client officiel il y a une interface nommée "INetworkMessage". Chaque paquet hérite de cette interface.
 
Inscrit
12 Avril 2017
Messages
72
Reactions
2
#7
Sur le client officiel il y a une interface nommée "INetworkMessage". Chaque paquet hérite de cette interface.
Yess effevtieffect, d ailleurs le bot de yovano à un peu près la même structure que le client Dofus. Mais merci enfaite je cherchais à savoir lesquels je derialises donc récup du serveur et lesquels je devais serialise donc les send :D
 

DevChris

Membre Actif
Inscrit
12 Avril 2017
Messages
138
Reactions
24
#8
Tu parles de quel bot a moi?
 

DevChris

Membre Actif
Inscrit
12 Avril 2017
Messages
138
Reactions
24
#10
Ah CookieBot, c’est moi yovanoc sur GitHub pour ça que je te demande ça ^^. Après ce projet n’est plus du tout mis à jour.. mais viens sur mon discord si tu ne l’es pas je donne pas mal d’infos souvent. Sinon pour ta question je ne crois pas qu’on peut à proprement savoir. Tous les messages peuvent être envoyé ou reçu. Il n’y a pas d’interfaces dans le client pour chacune des deux. Comme la dis Tazman tous héritent du INetworkMessage Mais ce qui est sûr c’est que dans les sources tous les messages que tu peux recevoir du serveur sont inscris dans le MessageReceiver!
 
Inscrit
12 Avril 2017
Messages
72
Reactions
2
#11
Ah CookieBot, c’est moi yovanoc sur GitHub pour ça que je te demande ça ^^. Après ce projet n’est plus du tout mis à jour.. mais viens sur mon discord si tu ne l’es pas je donne pas mal d’infos souvent. Sinon pour ta question je ne crois pas qu’on peut à proprement savoir. Tous les messages peuvent être envoyé ou reçu. Il n’y a pas d’interfaces dans le client pour chacune des deux. Comme la dis Tazman tous héritent du INetworkMessage Mais ce qui est sûr c’est que dans les sources tous les messages que tu peux recevoir du serveur sont inscris dans le MessageReceiver!
Sa marche du coup je pense que je vais revoir la structure du projet et puis au lieu de faire 2 interfaces je ferais un interface INetworkMessage :)

Ps: c'est quoi ton discord ?
 
Haut Bas