Ver Mensaje Individual
  #4  
Antiguo 16-12-2015
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Reputación: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Podemos escanear toda la red, o un rango de IPs, haciendo ping en varios hilos (de esto hay información en el foro), o bien, como mostré en este ejemplo, usar un servidor UDP en un hilo de nuestro programa servidor, que responda a un mensaje por ese protocolo a cada cliente que lo envíe. Los clientes envían un solo mensaje a la dirección broadcast de la red, de forma que todos los servidores lo recibirán. Dado que UDP no depende de conexión y que puede fallar, se puede repetir el mensaje un número determinado de veces. El mensaje de cada servidor, será recibido por el cliente que lo envía. Para ello, debe estar a la escucha en dicho protocolo UDP en un hilo a parte, que tomará nota de cada IP que responda. De esta forma, el cliente sabe los servidores que están en ese momento a la escucha. El sistema es parecido al que usan los dispositivos que quieren conectarse a un router para establecer la conexión después de esta verificación.

Para encontrar la dirección del broadcast de una red, se puede usar este método.
Para hacer ping sin usar componentes de terceros, propongo este código.

Saludos.

Última edición por escafandra fecha: 16-12-2015 a las 15:23:36.
Responder Con Cita