Salut,
J'aimerais savoir quelle est la meilleure méthode entre deux lorsque les deux peuvent fonctionner ?
Meilleure en niveau performance, et aussi fiabilité..
Niveau performance, je ne compte pas faire un test de performance, car avec du multithread je ne pense pas que ce serait fiable.
Mais à voir comme ça je dirais que la méthode pipe sera moins performance, de part le simple faite que je sois obligé de coder plusieurs "write" et "read".
En tout cas j'ai été agréablement surpris par ce systême. Tellement simple et efficace.
Pour shmget, pas 50 "write" et "read" à coder, donc ça allège pas mal le code.
En dehors de ça, il faut que je termine ma deuxième version de code avec cette méthode pour voir concretement ce que ça donne, mais pour l'instant ça fonctionne bien.
En faite, ce que je ne voudrais pas, c'est finir complètement mon code (environ 1000 lignes lorsqu'il le sera) avec l'une ou l'autre méthode, et au final m'apercevoir qu'il y a des bugs dans certaines conditions.
Pour ça que j'aimerais connaître la méthode la plus fiable, même si les bugs peuvent être possible pour les deux.
Le multhreading, c'est nouveau pour moi, et donc encore assez nébuleux.
Là je m'y suis mis simplement par obligation pour ce code. Il s'agit de ma pile tcp que j'avais commencé (en style statique) et que je dois finir en style dynamique..
En gros ça donne ça;
- Thread n°1: gestion réception et envoie des segments tcp, et envoie de la partie "tcp-data" des segments réceptionnés au second thread, qui en fait ce qu'il veut.
- Thread n°2: Fonctionne comme n'importe quel programme qui contient une partie réseau avec l'api "recv" ou "send" en mode "sock_stream". Donc il envoit également la partie "tcp-data" au thread n°1 qui s'occupe de la placer dans un segment tcp pour l'envoyer sur le réseau.
Partager