FastScannerIP contient 10 Theards
IP : XXX.XXX.XXX.0 à XXX.XXX.XXX.255 dans les 8m, avec l'ADSL
Modifier les paramètres du IP et le port du programme FastScanerIP V0.1
(pour le test ajouter votre IP avec 0 pour le dernier chiffre, et garder le même PORT pour les 2 sources)
A chaque petit son (msg.wav) le programme aura analysé 10 IP
Le son (Téléphone.wav) indique qu'il a trouvé le IP du serveur
On est obligé de rentrer le IP dans la source.
Je nai pas encore trouvé de solution pour récupérer les 4 valeurs du IP entre les virgules et ensuite les convertir en int.
Source / Exemple :
Voir le ZIP
Conclusion :
Chaque amélioration de ce programme sera le bien venu,
Merci
30 oct. 2003 à 02:16
30 oct. 2003 à 02:05
champs[ligne][col] = '' ===> champs[ligne][col] = ' '
(utilise 2 fois, c'est "Egale_Apostrophe_AntiSlash_Zero_Apostrophe (au cas ou ca ne repasse pas encore une fois))
if (!IsDigit(IpText[i]) Quitte_... ===> if (!IsDigit(IpText[i])) Quitte_...
(il manque une parenthese apres [i])
sinon tu peux faire un truc du meme genre avec un seul tableau de unsigned char, et en faisant la conversion vers un int quand tu detecte un point
autre solution : utiliser la fonction char * strchr (char *str , int ch);
qui rend un pointeur vers la premiere occurence du caractere ch dans la chaine str, renvoie NULL si le caractere n'est pas trouve
PS : j'avais pas mis les include non plus
#include<ctype.h> // pour isdigit
#include<string.h> // pour strlen
#include<stdlib.h> // pour atoi
29 oct. 2003 à 19:44
Ton code « kimmelf2 » ne fonctionne pas pour récupérer les 4 valeurs entre chaque point.
Le code sera mis a jour des que j’aurais résolu ce problème. Je vais continuer à optimiser la vitesse
29 oct. 2003 à 13:05
Pour une calculatrice un point correspond à une virgule. Je me suis trompé, bref c’est bien un point.
Normalement, le FastScannerIP devrai aller encore beaucoup plus vite.
J’ai constaté, ci on regard ci il y a un serveur par l’intermédiaire d’un PING avant d’essayer de se connecté.
On obtient vraiment un temps de réponse plus rapide.
Je vais rajouter ton code et le PING pour savoir ci il y a un SERVEUR.
Voici ce que je vais rajouter, tu en pence quoi ?
http://www.cppfrance.com/code.aspx?ID=10221
29 oct. 2003 à 02:29
#define VIRGULE ','
#define POINT '.'
#define SEPARATEUR POINT
int i;
unsigned char champs[4][4];
int IP[4];
int ligne=0;
int col=0;
for (i=0;i<strlen(IpText);i++)
if (IpText[i]==SEPARATEUR)
{
champs[ligne][col]=' ';
col=0;
ligne++;
}
else
{
if (!IsDigit(IpText[i]) Quitte_car_le_ieme_caractere_n_est_pas_un_chiffre();
champs[ligne][col]=IpText[i];
col++;
}
champs[ligne][col]=' '
for (i=0;i<3;i++)
IP[i] = atoi(champs[i]);
ca devrais marcher .....
-IpText est la chaine de caractere qui contient l'adresse IP au format texte
-la "fonction" quitte_car..... dois etre remplacee par une gestion d'erreur (message + quitte la fonction ou le pgm par exemple ...)
-les define du debut sont la car tu parlais de virgules dans ta description. je pense que tu voulais dire des points, mais je m'adapte.
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.