Bonjour,
J'ai un problème pour améliorer mon petit programme utilisant des sockets.
J'ai créé une petite interface graphique avec gtk qui permet de rentrer des informations, dont des adresses IP des machines à joindre.
Comme toutes ces machines sont dans le même réseau, elles ont typiquement des adresses du genre:
- 192.168.1.2 et 192.168.1.16 (donc @broadcast => 192.168.1.255)
ou
- 192.168.0.2 et 192.168.0.9 (donc @broadcast => 192.168.0.255)
Pour l'instant je suis arrivé à récupérer ces valeurs dans des gchar et je peux par exemple les afficher sans problème avec
Mon soucis est qu'il faudrait que j'envoie des informations aux machines clientes. J'utilise pour cela une socket qui utilise l'@ broadcast associée au réseau (cf exemple du dessus.)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 const gchar* adresse_pa const gchar* adresse_clt1 printf("\nparametres de la connexion: \nadresse du point d'acces %s \nadresse du client1 %s \n",adresse_pa, adresse_clt1);
Pour l'instant mon application fonctionne mais il faut que je recompile à chaque fois que mon @ de réseau change (192.168.0.0 ou 192.168.1.0). Je voudrais donc déduire l'@ broadcast à partir d'une des adresses des machines clientes (du type 192.168.0.2 par exemple ). Malheureusement je n'arrive pas à isoler les caractères situés apres le troisième "." de manière à les remplacer par "255".
Au départ je pensait utiliser la fonction:
mais elle s'arrête au premier caractère recherché.
Code : Sélectionner tout - Visualiser dans une fenêtre à part char* strchr(const char* chaine, int caractereARechercher);
Existe-t-il une fonction permettant de faire ce genre de manipulation sur les chaines ?
Merci
Partager