CLIENT-SERVEUR EN UDP MULTICAST

cs_Kaid Messages postés 949 Date d'inscription mardi 2 octobre 2001 Statut Membre Dernière intervention 8 juillet 2006 - 6 juin 2003 à 10:32
 NS3 - 20 juin 2017 à 09:06
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/10856-client-serveur-en-udp-multicast

Bonjour, merci pour votre code source, s'il vous plaît je suis débutant en programmation comme je doit procéder pour tester ces codes sources.
Suisse00 Messages postés 83 Date d'inscription vendredi 13 juin 2003 Statut Membre Dernière intervention 12 octobre 2005
26 janv. 2004 à 02:29
4 erreur dans le client

Ligne 233 : error C2440: '=' : cannot convert from 'void *' to 'char *'
Conversion from 'void*' to pointer to non-'void' requires an explicit cast

Line 262 : error C2664: 'setsockopt' : cannot convert parameter 4 from 'void *' to 'const char *'
Conversion from 'void*' to pointer to non-'void' requires an explicit cast

Line 280 : error C2664: 'setsockopt' : cannot convert parameter 4 from 'struct ip_mreq *' to 'const char *'
Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast

Line 288 : error C2664: 'recvfrom' : cannot convert parameter 6 from 'unsigned int *' to 'int *'
ben01n Messages postés 65 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 4 août 2010
10 juin 2003 à 08:41
pour le zip ça viendra mais d'abord je le perfectionne donc laissez moi vos commentaires sur des bugs ou des ameliorations possibles
cs_LordBob Messages postés 2865 Date d'inscription samedi 2 novembre 2002 Statut Membre Dernière intervention 11 mai 2009 9
7 juin 2003 à 10:33
un zip ca serait pas bien pour toi ca???
ben01n Messages postés 65 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 4 août 2010
6 juin 2003 à 14:38
merci de ton commentaire
je vais corriger mes boulettes tout de suite
cs_Kaid Messages postés 949 Date d'inscription mardi 2 octobre 2001 Statut Membre Dernière intervention 8 juillet 2006 1
6 juin 2003 à 10:32
Sur cette partie du code:

char porttest[5];
if ( argc >= 3 ) /* teste le nombre d'argument */
{
strcpy(porttest, argv[2]);
if ( isdigit(porttest[1]) == 0 ) /* test si le premier caractere du second argument est un chiffre ou pas */
{
printf ("erreur sur le port
"); /* le premier caractere n'est pas un chiffre */
return 1;
}
}

-> Remplace le strcpy() par un strncpy() car si l'utilisateur mets sur sa ligne de commande plus de 4 caractères le buffer porttest sera trop petit et donc plantage.

-> Tu compares le deuxième caractère et non le premier avec isdigit(porttest[1]).