Transfert de données du serveur vers d’autres objects

J’ai une classe Winsock Server cours d’exécution et écoute d’un client. Le client envoie les données d’object du Server . Le Server doit alors envoyer ces données à un object Handler du programme. Je n’ai aucune expérience préalable de la programmation de socket de quelque sorte que ce soit, donc la seule façon d’y parvenir était de donner à la classe Server une référence à un membre de données dans Handler et de mettre à jour la référence lors de la réception de données. De cette façon, Handler sera mis à jour chaque fois que le client envoie des données. Voici un code banalisé pour montrer ce que je fais actuellement:

 while (connected) { char recvbuf[258]; int recvbuflen = sizeof(recvbuf); iResult = recv(ClientSocket, recvbuf, recvbuflen, 0); if (iResult > 0) { switch (recvbuf[0]) { case 'h': { sortingggerEventReference = recvbuf[0]; std::ssortingng str = std::ssortingng(recvbuf); str.erase(str.begin()); str.resize(iResult - 1); strReference = str; break; } case 's': sortingggerEventReference = recvbuf[0]; boundReference = recvbuf[1]; otherReference = recvbuf[2]; break; case 't': sortingggerEventReference = recvbuf[0]; connected = 0; break; default: break; } } else { break; } } 

Bien que cette méthode fonctionne certainement, je me sens mal à l’aise et juvénile. Est-ce que quelqu’un connaît une meilleure façon d’exécuter la même fonctionnalité?