IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Réseau C Discussion :

[Socket][Setsockopt] - So_BROADCAST


Sujet :

Réseau C

  1. #1
    Futur Membre du Club
    Inscrit en
    Décembre 2008
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 6
    Points : 5
    Points
    5
    Par défaut [Socket][Setsockopt] - So_BROADCAST
    Bonjour,
    j'ai un petit soucis au niveau de la réception d'une requête provenant d'une broadcast ( pour rappel : xxx.xxx.xxx.255 pour un réseau ).

    J'utilise setsockopt pour régler SO_BROADCAST pour dire à la socket qu'elle peut recevoir une donnée sur la broadcast mais je ne reçoit rien.. pourtant la requête arrive bien sur mon interface.

    comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    int optval;
    optval = 1;
    setsockopt(sock, SOL_SOCKET, SO_BROADCAST, &optval, sizeof(int));
    Je vois pas, j'ai essayé à forcer une interface avec l'option SO_BINDTODEVICE.

    Voici la ligne que j'utilise pour recevoir :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    int len_peer = sizeof(peer);
    recvfrom(sock, packet, len_packet, 0, (struct sockaddr *)&peer, &len_peer);
    où peer est mon sockaddr_in, packet le paquet de réception et len_packet sa taille.

    C'est bizarre puisque c'est quasi identique à l'envoi, donc je vois plus.
    Et l'envoi fonctionne en broadcast.

    Alors si quelqu'un connait ou s'il a eu ce problème, qu'il n'hésite pas !

  2. #2
    Membre expérimenté
    Avatar de granquet
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    1 201
    Détails du profil
    Informations personnelles :
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 201
    Points : 1 421
    Points
    1 421
    Par défaut
    là comme ça, tout me parait bon.
    quelles sont les valeurs de retour de setsockopt et recvfrom?
    son sock est bien sur la bonne interface?

    ( pour rappel : xxx.xxx.xxx.255 pour un réseau de classe C).
    click my www
    ............|___
    ...................\
    .................._|_
    ..................\ /
    ..................."

  3. #3
    Futur Membre du Club
    Inscrit en
    Décembre 2008
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    Pour le setsockopt, c'est 0 donc c'est bon, j'aime même fait un getsockopt pour voir sa valeur et elle était bien à 1.

    Et le recvfrom bah, il attends une requête donc je peut pas dire sa valeur :p, en faîtes on dirait qu'il prend pas tellement en compte le so_broadcast.

    et j'ai essayé un so_bindtodevice au cas où mais bon j'ai qu'une interface eth0 et la loopback lo alors il a pas tellement le choix :p

  4. #4
    Membre à l'essai
    Profil pro
    Chef de projet
    Inscrit en
    Décembre 2010
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet

    Informations forums :
    Inscription : Décembre 2010
    Messages : 4
    Points : 22
    Points
    22
    Par défaut
    J'ai eu le même problème. Cela venait de mon firewall IPTABLES qui interdisait le réception des broadcast . Wireshark lui les voyait bien passer

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. executer une application a distance : Sockets ? RPC ? CORBA?
    Par a_hic dans le forum Développement
    Réponses: 5
    Dernier message: 30/05/2006, 13h02
  2. raw socket et langage c
    Par SlayDave dans le forum Développement
    Réponses: 2
    Dernier message: 29/08/2002, 19h09
  3. socket
    Par ben91 dans le forum Développement
    Réponses: 5
    Dernier message: 13/08/2002, 11h04
  4. Socket:Envoyer du texte d'un serveur vers tout les clients
    Par cedm78 dans le forum Web & réseau
    Réponses: 7
    Dernier message: 01/08/2002, 16h40
  5. transfert d'un fichier bitmap en socket tcp
    Par localhost dans le forum C++Builder
    Réponses: 5
    Dernier message: 29/07/2002, 00h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo