Ver Mensaje Individual
  #3  
Antiguo 06-12-2004
Mick Mick is offline
Miembro
 
Registrado: may 2003
Posts: 405
Reputación: 22
Mick Va por buen camino
La forma mas sencilla de hacer lo que pides es utilizar el protocolo UDP para localizar el servidor dentro de la LAN en lugar de TCP.
El puerto no lo podras detectar asi que tienes que decidir que la aplicacion servidor escuche siempre en un puerto fijo, digamos por ejemplo el puerto 6000.
Despues la aplicacion cliente envia un paquete UDP de "Broadcast" es decir destinado a todos los equipos no solo a uno, al puerto 6000, y se queda a la escucha en el mismo puerto (aunque podria ser otro distinto).
El servidor recibe esa peticion y responde con otro paquete con la informacion de conexion del servidor, este paquete de respuesta puede ser de broadcast o no, ya que el servidor ya sabe por la ip de origen del paquete, a que ordenador debe enviar la respuesta.

Solo hay que tener en cuenta que el cliente actuara como servidor durante un momento, ya que se tiene que quedar a la espera de la respuesta en un puerto, si hay algun firewall instalado en el ordenador cliente es posible que bloquee la respuesta, en ese caso habria que configurar el firewall para que deje pasar esas respuestas.

Saludos
Responder Con Cita