Bonjour,
Dans mon programme j'ai un serveur (point d'acces) qui doit envoyer un "top_depart" à deux machines clientes.
Je pensais utiliser pour cela l'adresse de broadcast (dans mon cas "192.168.1.255" ) comme adresse de destination de ma socket.
(Pour une autre partie de mon programme je passe l'adresse du serveur en paramètre et je la récupère dans argv[]. Je suis arrivé à réaliser des sockets qui fonctionne comme ça...)
Mais là je voudrais fixer mon adresse de broadcast dans le programme sans avoir à la retaper en paramètre à chaque fois.
donc j'ai essayé de faire ça:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
   struct hostent *broadcast;
   char adrbroad[256]="192.168.1.255";
 
   broadcast = gethostbyname(adrbroad);
mais ça me crée une erreur de segmentation à l'éxécution (mais pas à la compilation)

En cherchant sur le forum, j'ai vu qu'il y avait une fonction "gethostbyaddr()" mais je n'ai pas compris si c'était dans ce cas là qu'il faut l'utiliser (si j'ai bien compris elle retourne un nom de machine donc ce n'est pas ce qu'il me faut ...).

Je ne comprend pas où est l'erreur dans mon code.
Si quelqu'un peut m'éclaircir, je lui en serait reconnaissant. Merci