Bonjour a tous,
Je poste ici car je n'ai pas trouvé de réponse qui me donne satisfaction sur les différentes pages que j'ai visité.
Je suis en train de faire un programme en C++ dans lequel j'ai un client/serveur TCP. le serveur/client envoi des messages structurés avec des attributs identique pour tous les messages et d'autres spécifique au message.
exemple
Je souhaite avoir une méthode template sendMessage(struct messageN, enum connectionType). C'est à dire qui sera capable de traiter une structure de type message1, message2, .. messageN. Le but de cette methode serait de copier la structure dans un tableau, pour en fonction de l'enum l'envoyer dans une methode send() ou write() de linux (voir windows plus tard).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 struct messageN { messageSize messsageID struct specifiqueAuMessageN }
Pour faire cela, suis-je obligé de créer:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 //code de la supposée methode sendMessage(struct messageN, enum connectionType) { char data[255]; memcpy(data, &messageN, messageN.messageSize); if(connectionType == TCP) { send(fdSocket, data, messageN.messageSize); } }
-sendMessage(struct message1, enum connectionType)
-sendMessage(struct message2, enum connectionType)
- ...
-sendMessage(struct messageN, enum connectionType)
Ou puis je passer par une methode template? Chose que je n'ai jamais utilisé et dont j'aimerai apprendre a me servir.
Si non quelles sont mes options?
Je vous remercie par avance.
Cordialement,
boubouboy
Partager