Revisar cada IP para ver en cual esta el servidor.

Iniciado por ShinyDavid, 28 Septiembre 2015, 00:36 AM

0 Miembros y 1 Visitante están viendo este tema.

ShinyDavid

Buenas tardes.

Hoy tengo un problema, ya que estoy haciendo un servidor y varios clientes en c++ (Conexiones por sockets), los monto en una lan y los clientes los compilo con la ip donde estaría el servidor, el problema surge por que me da la necesidad de poder mover el server de ip constantemente, entonces los clientes tendrían problemas para conectarse y requerirían ser re compilados, como podría hacer para que busquen los clientes la ip donde esta el servidor? o como podrían saber si cierta ip tiene en escucha tal puerto? puedo hacer que se intenten conectar a cada ip en el rango de lan (1-254), pero es muy tardado, necesito saber si hay una forma mas rápida?

Saludos cordiales.  ::)
"La ciencia solo es una perversión de si misma si su finalidad no es mejorar a la humanidad".

- Nikola Tesla

ivancea96

Tienes varias opciones:
Una es, pedir la IP al usuario que utiliza el cliente.
Otra, utilizar threads para agilizar la búsqueda del servidor.

engel lex

si tienes algo de conocimiento medio avanzado, puedes intentar hacer la búsqueda por broadcast, cada cliente que se conecte, envía un broadcast y el servidor responde
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

mxpblack

Puedes dejar tambien un puerto a la escucha, asi que si necesitas mover el servidor. El cliente puede recibir tu ip nueva y crear un socket nuevo para que se conecte a la nueva.

"No puede existir un lenguaje más universal y simple, más carente de errores y oscuridades, y por lo tanto más apto para expresar las relaciones invariables de las cosas naturales Las matemáticas parecen constituir una facultad de la mente humana destinada a compensar la brevedad de la vida y la imperfección de los sentidos."
―Joseph Fourier.