jehro85
Messages postés6Date d'inscriptionmardi 23 janvier 2007StatutMembreDernière intervention10 novembre 2007
-
23 janv. 2007 à 17:13
mondrone
Messages postés246Date d'inscriptionmercredi 5 janvier 2005StatutMembreDernière intervention11 mars 2012
-
24 avril 2007 à 13:15
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
mondrone
Messages postés246Date d'inscriptionmercredi 5 janvier 2005StatutMembreDernière intervention11 mars 2012 24 avril 2007 à 13:15
J'ai testé ton code, qui risque de m'être par ailleurs fortement utile, mais autant il passe parfaitement lors du lancement, autant pendant un lancement pas à pas sous gdb (code::blocks), il y a corruption possible de la pile ligne 1396 de servbaze.c (fonction log instruction free(args)), ce qui ne m'étonne pas d'ailleurs puisque tu essaye de libérer une variable non pointeur (peut être que ca se fait effectivement ? Mais ca m'étonne néanmoins)
cs_Nebula
Messages postés787Date d'inscriptionsamedi 8 juin 2002StatutMembreDernière intervention 7 juin 20072 3 févr. 2007 à 22:02
Quelques remarques après avoir regardé le code (pas pu résister) :)
Concernant le code lui même :
1) modularise le code, tout dans un seul .c c'est assez indigeste
2) scinde les fonctions, certaines sont beaucoup trop grosses (comme traitement_reception)
Concernant les performances :
3) utilise des hash dans un switch plutôt que tous ces if(strcmp(args[0], ...))
4) utilise des hash table pour les clients / salons l'accès est quasi instantané comparé à une liste chainée (mais tu peux conserver des listes chainées pour les envois séquentiels des infos, vu qu'il faut de toute façon tout parcourir)
5) utilise les fonctions de winsock 2.2, select sous windows c'est pas top
cs_Nebula
Messages postés787Date d'inscriptionsamedi 8 juin 2002StatutMembreDernière intervention 7 juin 20072 3 févr. 2007 à 21:47
Salut, je n'ai pas encore regardé le code vu que je ne suis pas sur mon PC actuellement, mais quand tu parles de Nebula tu parles du client que j'avais déposé sur delphifr (en tout cas ton screen y ressemble, tu utilises quel composant pour gérer les smileys) ? Çà fait plaisir de savoir que ce code n'est pas totalement tombé dans l'oubli :p
jehro85
Messages postés6Date d'inscriptionmardi 23 janvier 2007StatutMembreDernière intervention10 novembre 2007 1 févr. 2007 à 07:55
Petite info ayant lu les logs du serveur, en effet le serveur est en phase de test sur ma machine, le client va essayer de se connecter en premier lieu sur celui-ci, si il ne trouve pas le serveur il tente une connection dans le réseau local (192.169.1.3) puis pour finir si il ne trouve tj pas de serveur il tente une connection sur le localhost. donc pour tester en local bloquez les connections extérieures du client, su vous ne saver pas comment faire, déconnectez vous de l'internet. Les commentaires sont les bienvenus.
jehro85
Messages postés6Date d'inscriptionmardi 23 janvier 2007StatutMembreDernière intervention10 novembre 2007 23 janv. 2007 à 17:45
jehro85
Messages postés6Date d'inscriptionmardi 23 janvier 2007StatutMembreDernière intervention10 novembre 2007 23 janv. 2007 à 17:13
oups, les exécutables ne passent pas dans les archives... pour ceux qui connaissent le Client NEBULA est 100% compatible (sauf pour les liste d'amis et d'autres petits trucs) pour ceux qui désirent l'avoir me contacter par MP
24 avril 2007 à 13:15
3 févr. 2007 à 22:02
Concernant le code lui même :
1) modularise le code, tout dans un seul .c c'est assez indigeste
2) scinde les fonctions, certaines sont beaucoup trop grosses (comme traitement_reception)
Concernant les performances :
3) utilise des hash dans un switch plutôt que tous ces if(strcmp(args[0], ...))
4) utilise des hash table pour les clients / salons l'accès est quasi instantané comparé à une liste chainée (mais tu peux conserver des listes chainées pour les envois séquentiels des infos, vu qu'il faut de toute façon tout parcourir)
5) utilise les fonctions de winsock 2.2, select sous windows c'est pas top
3 févr. 2007 à 21:47
1 févr. 2007 à 07:55
23 janv. 2007 à 17:45
23 janv. 2007 à 17:13