Java Dofus 2 - Son du client avec l'UpLauncher

Discussion dans 'Questions / Réponses' créé par Forsties08, 26 Novembre 2017.

  1. Forsties08

    Forsties08 Membre

    Inscrit:
    26 Novembre 2017
    Messages:
    2
    J'aime reçus:
    0
    Bonsoir, je fais un UpLauncher en Java actuellement, il est quasiment terminé il me manque juste une petite chose, faire en sorte que l'UpLauncher soit comme celui d'Ankama, qu'il soit utilisé pour le son du client.

    Du coup j'ai pu trouver les sources d'un ShadowSound (qui est comme l'ArkanSound) et j'ai, on va dire reproduit le code C# en java, hélas je ne comprends pas trop le fonctionnement, voilà ce que j'ai pu comprendre en voyant le code :

    L'UpLauncher lance deux serveurs, nommés dans le DLL : "GameServer" et "RegServer" :
    - Le GameServer est bind sur le port 8081
    - Le RegServer qui lui est bind sur le port 4242


    Au lancement du client Dofus, le client se connecte sur le RegServer et ensuite sur le GameServer.

    Le GameClient envoie un message au GameServer, qui lui, envoie à son tour au RegClient, si un message est envoyé au RegServer, le message est envoyé au GameClient.

    GameClient = Le socket connecté au GameServer.
    RegClient = Le socket connecté au RegServer.


    Donc voila, mon client se connecte bien à mes "deux serveurs", le GameServer reçoit bien des messages du Client, qui sont directement envoyés vers le RegClient mais le problème c'est qu'il n'y a quand même aucun sons.

    Voila un petit debug :

    Starting GameServer ...
    Starting RegServer ...
    New connection on the RegServer
    New connection on the GameServer 1
    Data received by GameClient : [[email protected] (51 bytes)
    Data sended to RegClient : [[email protected] (51 bytes)
    Data received by GameClient : [[email protected] (54 bytes)
    Data sended to RegClient : [[email protected] (54 bytes)
    Data received by GameClient : [[email protected] (101 bytes)
    Data sended to RegClient : [[email protected] (101 bytes)
    Data received by GameClient : [[email protected] (54 bytes)
    Data sended to RegClient : [[email protected] (54 bytes)
    Data received by GameClient : [[email protected] (108 bytes)
    Data sended to RegClient : [[email protected] (108 bytes)
    Data received by GameClient : [[email protected] (52 bytes)
    Data sended to RegClient : [[email protected] (52 bytes)

    Sinon le code pour la lecture du packet est celui-ci, je pense que le problème vient de la :

    Code (Java):

    int length = dIn.read();
    if(length > 0 ) {
        byte[] message = new byte[length];
        dIn.readFully(message, 0, length);
        onMessage(socket, message);
    }
     
    (le onMessage sert seulement à envoyer au bon endroit le message)
     
  2. Forsties08

    Forsties08 Membre

    Inscrit:
    26 Novembre 2017
    Messages:
    2
    J'aime reçus:
    0

En naviguant sur ce site web, vous acceptez les Termes et Conditions d'utilisation. Tout le contenu que vous pourrez trouver sur ce site est soumis à la license Creative Commons.