socket UDP et broadcast
Dernière réponse : dans Programmation
a tous et a toutes (je ne pense pas qu'il n'ya que des monsieurs sur le forum)J'ai une petite question de candide concernant les sockets UDP sous Linux.
J'ai ecrit un petit programme qui me permet d'envoyer des donnees sur une autre machine via UDP sur un port bien particulier.
Je me demande simplement si je suis oblige de connaitre l'adresse du PC distant sur lequel mon appli se connecte pour transferer les donnees.
Ce PC distant cre une socket en tant que serveur, ouvre le port et ecoute sur cette socket.
De mon cote, je configure la socket en mode broadcast, et je me connecte sur le port en question et hop sendto...
Mais pour creer ma socket, je doit initialiser les sturcutres hostent et servent. Et pas consequent, je suis oblige de connaitre l'adresse du serveur.
Suis-je dans le vrai,; ou puis-je me passer de connaitre l'adresse du serveur ou amchine distante ?
Merci d'avance pour vos conseils et remarques.
Autres pages sur : socket udp broadcast
Lassé par la pub ? Créez un compte
laurentetsandrine2000 a dit :
Mais pour creer ma socket, je doit initialiser les sturcutres hostent et servent. Et pas consequent, je suis oblige de connaitre l'adresse du serveur.Suis-je dans le vrai,; ou puis-je me passer de connaitre l'adresse du serveur ou amchine distante ?
Cette question ne concerne aucun langage.
Si j'ai bonne mémoire, pour diffuser, tu dois emettre avec l'adresse 255.255.255.255.
Citation :
M'enfin meuh nooooon, même si le protocole UDP n'est pas en mode connecté, il faut bien que tu indiques à qui tu t'adresses.Ben oui, tu t'adresses à 255.255.255.255 ...
http://www.laissus.fr/cours/node8.html#SECTION043220000...
Diffusion locale, évidemment, on ne va faire de diffusion sur le web !
http://www.laissus.fr/cours/node8.html#SECTION043250000...
tu peux la jouer plus fine: un dispatcher (avec nom dns).
chaque équipement qui a besoin de message ou qui diffuse des message est connecté vers le dispatcher.
Message reçut par équipement -> envoyer vers dispatcher -> envoyé vers tous les client connectés
Tu peut améliorer le système en lisant le design pattern "observer" (recherche google). Et le completer avec le design pattern "adapter" si tous les équipement ne parlent pas le même language
chaque équipement qui a besoin de message ou qui diffuse des message est connecté vers le dispatcher.
Message reçut par équipement -> envoyer vers dispatcher -> envoyé vers tous les client connectés
Tu peut améliorer le système en lisant le design pattern "observer" (recherche google). Et le completer avec le design pattern "adapter" si tous les équipement ne parlent pas le même language
J'ai oublie de preciser que la passerelle en question c'est mon equipement.
cela doit se passer comme ca en fait :
liaison serie synchrone -> mon equipement -> UDP vers X autres equipements.
Je ne connais que le numero de port sur lequel je dois me connecter. Je n'ai pas d'adresse de serveur qui peut etre en face.
C'est donc que je ne doit pas en avoir besoin.
Je cherche donc a pouvoir envoyer mes messages en me passant de l'initialisation du champ addresse (sin_addr.sin-addr il me semble) avec une adresse de serveur.
cela doit se passer comme ca en fait :
liaison serie synchrone -> mon equipement -> UDP vers X autres equipements.
Je ne connais que le numero de port sur lequel je dois me connecter. Je n'ai pas d'adresse de serveur qui peut etre en face.
C'est donc que je ne doit pas en avoir besoin.
Je cherche donc a pouvoir envoyer mes messages en me passant de l'initialisation du champ addresse (sin_addr.sin-addr il me semble) avec une adresse de serveur.
Lassé par la pub ? Créez un compte
- Contenus similaires :
Tags :