begin process at 2012 02 11 03:04:13
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Réseau / Internet

 > 

Sockets - Broadcast UDP


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Sockets - Broadcast UDP

mardi 9 novembre 2004 à 23:06:59 | Sockets - Broadcast UDP

Toadstool

Je veux broadcaster un paquet UDP pour "pinger" les serveurs half-life présent sur un réseau local (cf. la source bot irc + scan de parties counter-strike en udp). Je fais comme ca :


SOCKET sock;
SOCKADDR_IN sin;
char ping_msg[20];

sprintf(ping_msg, "%c%c%c%cping", 255, 255, 255, 255);

sin.sin_family = AF_INET;
sin.sin_addr.s_addr = INADDR_BROADCAST;

(...)

for(int port = 27015; port < 27025; port++)
{
sin.sin_port = htons(port);
for(;;)
if(sendto(sock, ping_msg, strlen(ping_msg), 0, (SOCKADDR*)&sin,
sizeof(sin)) >= 0)
break;
}


Le problème c est que sendto bloque complètement dès le premier envoi alors que ca marche si a la place de mettre INADDR_BROADCAST je mets un inet_addr("172.16.30.70") par exemple.

Une idée de pourquoi ca marche pas ?

Merci d'avance :)

*** Toadstool ***
mercredi 10 novembre 2004 à 02:31:15 | Re : Sockets - Broadcast UDP

aardman

Membre Club
Réponse acceptée !
Salut,
As tu essayé setsockopt(...) avec l'option SO_BROADCAST ?
mercredi 10 novembre 2004 à 12:30:35 | Re : Sockets - Broadcast UDP

Toadstool

Réponse acceptée !
avec :


SOCKET sock;
SOCKADDR_IN sin;
char ping_msg[20];

sprintf(ping_msg, "%c%c%c%cping", 255, 255, 255, 255);

sin.sin_family = AF_INET;
sin.sin_addr.s_addr = INADDR_BROADCAST;

sock = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);

int i = 1;
setsockopt(sock, SOL_SOCKET, SO_BROADCAST, (char*)&i, 1);

....


ca marche super bien merci beaucoup :)

*** Toadstool ***


Cette discussion est classée dans : sin, sockets, broadcast, udp, addr


Répondre à ce message

Sujets en rapport avec ce message

UDP et Win98 [ par sena ] Bonjourvoila j'ai fait 2 prog en langage:un client et un serveur en UDP, ceux ci communiquent entre eux et sont sur la meme machine.J'avais un pb de r TimeOut sur un socket [ par djosh ] Voici un bout de code des sources du logiciel VNC, la fonction connect(). Mon but est de réduire le temps de réponse (message:"failed to connect to se Erreur 10049 sur socket UDP [ par Ezekiel69 ] Salut tous le monde...Me voici depuis plusieurs jour confronté un a problème étrange.Je veux envoyer un message par l'intermédiaire d'un packet UDP su Documentation Reseaux [ par SnowBlade360 ] Bonjour J'ai trouver sur inernet du code afin de crée une socket mais j'aimerais connaitre exactement tout les champs qui la compose voici mon code : http ip... [ par xionoxid ] BonjourJ'ai un petit problème, je voudrais aller sur un site persol'adresse est par exemple :http://XXXXXX.HEBERGEUR.COMdans mon programme je dois met sockets!!!!!!!!!!!!!!! [ par dletozeun ] bonjour,J'ai encore un probleme avec les sockets:voila, g reussi a faire communiquer un serveur et un client su r 2 ordinateur distant mais cette conn Client html [ par elinep ] Voila le code d'un petit client html que j'ai trouve sur cppfrance:#include #include #include #pragma comment(lib, "ws2_32.lib")SOCKET s;in_addr addr; "linked error" en C [ par thebadskull ] voila j'ai devc++ sous windows XPj'ai lu un tuto sur comment manier les sockets...voici mon code :void Scann(char buffer[],int port){WSADATA WSAData;W Probleme de Socket [ par Basica ] Bonjour, j'ai un petit problème avec winsock que je n'arrive pas à résoudre. Mon but est de récuppérer des pages internet en utilisant winsock en C/C recvfrom erreur [ par valoue ] Bonjour,J'essaie de récupérer les données envoyées par un client en utilisant le protocole UDP (sous VC++).je créé ma socket speciale UDP:s = socket(A


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,137 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales