PDA

Ver la Versión Completa : Utilizar el Broadcast del UDP!


fide
07-11-2007, 10:55:14
Hola. Alguien me puede ayudar o documentar acerca de como usar el metodo
Broadcast del idUDP de la Indy???

Si me responden les estare muy agradecido, ya que necesito saber como utilizar dicho metodo...

Estuve mirando esto http://es.wikipedia.org/wiki/Broadcast_%28Sobre_IP%29 pero lo que necesito es utilizar dicho comando en delphi.. Yo uso el 7, con la Indy9...

tefots
08-11-2007, 14:36:20
se supone que enviando por udp a la ip 255.255.255.255 ,se envia la trama a todas las ip's de la red que esten dentro del rango

puedes hacer broadcast de dos formas.
llamando a la funcion udp.broadcast(cadena,puerto) la cual internamente hace un envio a la ip 255.255.255.255

o estableciendo la ip de envio en udp.host a 255.255.255.255 y llamando a udp.send(cadena) o udp.sendBuffer(buffer,tamaño).

al hacer el broadcast , cualquier pc de la red que esté esuchando en ese puerto udp , recibe los datos.

es decir , no hay ninguna diferencia a nivel de usar el componente tidudp de hacer broadcast , ha hacer un envio normal . tan solo cambia la ip de envio.

has de tener en cuenta que enviar muchos datos por broadcast , puede saturar la red , ya que siempre lo envias a todo el mundo que este en la red.

otro tema es es como recibir/responder en el otro lado usando udpserver. te aconsejo que mires el ejemplo de udp que viene con indy.


saludos.

fide
08-11-2007, 18:41:30
Gracias por la ayuda. Ya me imaginaba que era algo asi. Voy a intentar a ver que sale...

fide
08-11-2007, 22:59:06
Upaaaaaaa! ese UDP es lo maximo, las redes son lo maximo. Es cierto que la Informatica es lo maximo. Ahora muchas puertas se me habren utilizando el BroadCast del UDP. Todas las Maquinas de la red reciven el paquete jejeje. Que bien...

Si a alguien le interesa como hacer eso, pues que me digan...

tefots
09-11-2007, 00:35:13
yo el broadcast lo uso , para saber donde está un servidor ubicado.

es decir , los clientes , sin necesidad de saber donde esta un determinado servidor , lanzan el broadcast , a lo que el servidor responde , y el cliente ya sabe en que ip se se encuentra el servidor / servidores. con lo que entonces ya saben donde conectarse.



saludos.

juanelo
09-11-2007, 00:35:40
Upaaaaaaa! ese UDP es lo maximo, las redes son lo maximo. Es cierto que la Informatica es lo maximo. Ahora muchas puertas se me habren utilizando el BroadCast del UDP. Todas las Maquinas de la red reciven el paquete jejeje. Que bien...

Si a alguien le interesa como hacer eso, pues que me digan...

Epa! .... no tan rápido, por seguridad muchos routers tienen bloqueados los broadcasts, es decir, cuando detectan este "tipo de mensaje" no lo dejan pasar, asi que solo te serviria para mandar mensajes a una subred si es que en la red donde te encuentras hay diferentes subredes, y por consecuencia este mensaje no se propaga a internet, te imaginas !!! :eek:.

Saludos

tefots
09-11-2007, 09:28:30
en efecto , el broadcast solo vale para enviar a las ip's que esten en la misma red , nunca va a enviar a las subredes , y solo funciona cuando no hayan routers de por medio que filtren y eviten el broadcast.

lo que no he probado es que si el pc tiene varias ip's y pertenece a varias redes distintas , se supone que enviará a todas las redes a la cual pertenece.

saludos.

fide
09-11-2007, 22:14:37
Sip, yo se que el solo se propaga por las subredes. Pero bueno, por lo menos en la LAN de mi escuela el broadcast no esta bloqueado, o sea yo lo puedo ejecutar con los routers que hay por la configuracion que ellos tienen. Yo uso el Broadcast, para, entre otras cosas detectar un conjunto de PCs que esten corriendo la version server de un programa que he creado...

aeff
10-11-2007, 22:51:35
¿la direccion 255.255.255.255 hace un broadcast tambien con otros componentes como por ejemplo el TCP?

saludos!

fide
11-11-2007, 03:01:03
Oyeme, a mi me parece que no. Que el protocolo que hace eso es el UDP, por que el no recive confirmaciones de los paquetes que entrega. Ademas, para que se pueda ejecutar el Broadcast, debe de haber routers para routear los paquetes hacia los subnodos de la red...

Creo que el TCP no admite broadcast man...

fide
11-11-2007, 05:40:38
Los TWindControl tienen un metodo llamado broadcast, para enviar el mismo mensaje a todos los componentes hijos de este.

Por ejemplo, un form que le envia el mensaje WM_DESTROY a todos los componentes hijo para que ellos se destruyan...

Seria asi:


Self.Broadcast(UnRecordQueNoEntiendo);


si alguien lo entiende me lo dice...