Historique des modifications - Message

Message #5940

Sujet: transfaire de fichier socket :|


Type Date Auteur Contenu
Création du message 28-01-2009 05:57:58 yamashi
Les sockets tu es obligé de rajouter une grosse couche par dessus sinon tu arrives a rien...
Et essaye de faire des efforts en orthographe parce que parfois je comprends pas ^^ .
"avens qu'elle que" -> "avant quelques"...

simulation d'un petit mmorpg ...

Etant moi même dans le projet de faire un MMORPG et étant le codeur réseau et IA je peux te dire que si je n'avais pas fais ma couche réseau par dessus les API je ne pourrais jamais rien faire parce que c'est l'horreur si tout ne se fait pas seul...
Mainteant mon code est super simple et rapide une fois le code complexe et technique finit.

Voila a quoi ressemble mon code maintenant :

Je rajoute la fonction avec son opcode dans le constructeur
_func[CHAT_MSG] = &WorldSession::HandleChatOpcode;

Et voila la définition de ma fonction HandleChatOpcode

void WorldSession::HandleChatOpcode(WorldPacket* recvPacket)
{
#if defined (_DEBUG)
cout << recvPacket->c_str(1) << endl; // c_str(1) returns the first data segment, c_str(2) should be empty in this case
#endif
    _world->_chat->RecvPacket(recvPacket);
}

et le serveur va s'occuper par lui même de faire passer les données a la fonction et de l'utiliser si je recois l'opcode CHAT_MESSAGE donc maintenant je n'ai plus qu'a coder les fonctions de traitement des données !

La fonction update de ma worldsession :

void WorldSession::Update()
{
    CUDA_SAFE_CALL (treatPacket());
    while(!_recvQueue.empty())
    {
        WorldPacket* p = _recvQueue.front();
        if(_func[p->opcode()] !=  NULL)
            (this->*_func[p->opcode()])(p);
        delete p;
        _recvQueue.pop();
    }
    onWrite();

}

Tu vois simple et self controled.

Retour

Options Liens officiels Caractéristiques Statistiques Communauté
Préférences cookies
Corrections
irrlicht
irrklang
irredit
irrxml
Propulsé par Django
xhtml 1.0
css 2.1
884 membres
1440 sujets
11337 messages
Dernier membre inscrit: Saidov17
150 invités en ligne
membre en ligne: -
RSS Feed