Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: rubn en 15 Enero 2009, 12:49 pm



Título: Conexión entre cliente y servidor sin transmisión de IP
Publicado por: rubn en 15 Enero 2009, 12:49 pm
Hola, mi problema es el siguiente.

Necesito saber si existe una manera de que, en un programa cliente/servidor, el cliente pueda ver la IP del servidor una vez que éste se ha puesto a la escucha.
Es decir, necesito que el cliente pueda escoger entre varios servidores y se pueda conectar al servidor escogido sin que éste le tenga que transmitir su IP.
Todo esto a ser posible utilizando el winsock o alguna variante.

Saludos y gracias.


Título: Re: Conexión entre cliente y servidor sin transmisión de IP
Publicado por: invisible_hack en 15 Enero 2009, 17:44 pm
¿Me parece que lo que tu pides es una conexion inversa?


Título: Re: Conexión entre cliente y servidor sin transmisión de IP
Publicado por: rubn en 15 Enero 2009, 20:08 pm
¿Me parece que lo que tu pides es una conexion inversa?

Pues...si la "conexión inversa" es capaz de hacer lo que explico arriba, entonces sí que pido una conexión inversa.

Por si no me he explicado con demasiada claridad, lo que pido es básicamente lo que hay en muchos juegos online: un jugador crea una partida (hace de servidor) mientras que otros jugadores ven que se ha creado esa partida y se conectan a ella (hacen de clientes) sin necesidad de que el servidor les comunique su IP.

Un saludo.


Título: Re: Conexión entre cliente y servidor sin transmisión de IP
Publicado por: Larva93 en 12 Agosto 2009, 00:41 am
respondo tarde. pero vos para jugar a esa partida tenes q poner una ip


Título: Re: Conexión entre cliente y servidor sin transmisión de IP
Publicado por: cassiani en 12 Agosto 2009, 01:13 am
si está en LAN, no! por lo menos, con quake3 y aoe2 no es así....


Título: Re: Conexión entre cliente y servidor sin transmisión de IP
Publicado por: BlackZeroX en 12 Agosto 2009, 01:38 am
Aùn asi hay ip's en una LAN


Título: Re: Conexión entre cliente y servidor sin transmisión de IP
Publicado por: LeandroA en 12 Agosto 2009, 02:19 am
me parece que si se esta vajo una LAN se utiliza la funcion Bind, el cliente conecta al servidor que este en escucha dentro del mismo puerto, dentro de la red, puede ser?

Saludos


Título: Re: Conexión entre cliente y servidor sin transmisión de IP
Publicado por: cassiani en 12 Agosto 2009, 16:23 pm
Aùn asi hay ip's en una LAN

obviamente!!


Título: Re: Conexión entre cliente y servidor sin transmisión de IP
Publicado por: vivachapas en 13 Agosto 2009, 01:25 am
je.. creo q ni vos entedes q queres..

lo q vos queres es q el programa ya sepa q ips estan corriendo esa aplicacion?.. eso es imposible... xD.. sin haber una previa conexion a algun servidor donde esten registradas las ip con las partidas..

la mejor solucion seria una ip fija, o no-ip.. y hacer una conexion inversa..


Título: Re: Conexión entre cliente y servidor sin transmisión de IP
Publicado por: raul338 en 13 Agosto 2009, 01:39 am
aver, creo que lo que el dice es algo que para muchos (no programadores) es algo tan simple pero ni yo pude pensarlo (no es por hacerme el importante xD xD)

Yo lo veo mas en juegos de lan que online (ej. counter strike). Yo enciendo un servidor en un PC IP: 192.168.0.1, otra IP (192.168.0.3) lo detecta segundos despues y lo muestra como "listo para conectarse", todo automaticamente. No se como lo haran (podriamos poner para escuchar 192.168.0.x varios a la vez, pero e visto casos en que llegan a valores altos xD). La gran pregunta es como hacerlo  :P


Título: Re: Conexión entre cliente y servidor sin transmisión de IP
Publicado por: XdeoX en 27 Octubre 2009, 12:58 pm
aver, creo que lo que el dice es algo que para muchos (no programadores) es algo tan simple pero ni yo pude pensarlo (no es por hacerme el importante xD xD)

Yo lo veo mas en juegos de lan que online (ej. counter strike). Yo enciendo un servidor en un PC IP: 192.168.0.1, otra IP (192.168.0.3) lo detecta segundos despues y lo muestra como "listo para conectarse", todo automaticamente. No se como lo haran (podriamos poner para escuchar 192.168.0.x varios a la vez, pero e visto casos en que llegan a valores altos xD). La gran pregunta es como hacerlo  :P

usa Garena


Título: Re: Conexión entre cliente y servidor sin transmisión de IP
Publicado por: Lambda en 27 Octubre 2009, 14:02 pm
aver, creo que lo que el dice es algo que para muchos (no programadores) es algo tan simple pero ni yo pude pensarlo (no es por hacerme el importante xD xD)

Yo lo veo mas en juegos de lan que online (ej. counter strike). Yo enciendo un servidor en un PC IP: 192.168.0.1, otra IP (192.168.0.3) lo detecta segundos despues y lo muestra como "listo para conectarse", todo automaticamente. No se como lo haran (podriamos poner para escuchar 192.168.0.x varios a la vez, pero e visto casos en que llegan a valores altos xD). La gran pregunta es como hacerlo  :P

El CS usa UDP y udp tiene una IP de broadcast (255.255.255.255) enviandole algo a esa IP lo reciben todos los clientes de la lan.

http://www.elguille.info/colabora/vb2005/galegre_BroadcastUDP.htm

En TCP no hay manera de hacer eso, necesitas enviarle la IP a algo para que despues puedan consultarla.


Título: Re: Conexión entre cliente y servidor sin transmisión de IP
Publicado por: shaggikpo en 2 Noviembre 2009, 18:57 pm
y si eviaras el mensaje a la ip brodcast de la lan la cual seria 255.255.255.0?


Título: Re: Conexión entre cliente y servidor sin transmisión de IP
Publicado por: Lambda en 2 Noviembre 2009, 19:54 pm
255.255.255.255


Título: Re: Conexión entre cliente y servidor sin transmisión de IP
Publicado por: WHK en 2 Noviembre 2009, 22:34 pm
Yo lo veo mas en juegos de lan que online (ej. counter strike). Yo enciendo un servidor en un PC IP: 192.168.0.1, otra IP (192.168.0.3) lo detecta segundos despues y lo muestra como "listo para conectarse", todo automaticamente. No se como lo haran (podriamos poner para escuchar 192.168.0.x varios a la vez, pero e visto casos en que llegan a valores altos xD). La gran pregunta es como hacerlo  :P

El counter strike busca servidores de dos formas... una es con un listado de servidores en forma de archivo, toma las direcciones y comienza a verificar conexiones una por una, la otra forma es por lan, si le haces click en mostrar lista de servidores locales el counter comenzará a hacer un rastreo de ips comenzando por 127.0.0.1 y despues por 192.168.0.1 hasta 192.168.254.254 y lo que hace es conectar un socket por medio del protocolo udp a la ip, si esta ip acepta la conexión entonces envía el header y si el header es del servidor de counter entonces lo agrega a la lista.

Eso significa que el counter hace dos conexiones, una para escanear y la otra para jugar.

Algo similar hace el netscann, le das un rango de ips y comienza a escanear, lo que hace es hacerle ping ip por ip.
Nmap también lo hace pero utiliza métodos diferentes que el socket nativo de visual basic no puede hacer ya que necesitas utilizar el socket a nivel RAW y windows restringe el acceso desde el sistema operativo, por eso se utilizan parches o drivers como winpcap.


Título: Re: Conexión entre cliente y servidor sin transmisión de IP
Publicado por: Tumerek en 3 Noviembre 2009, 08:43 am
Una solución es que todos los servidores que se abran, escriban en un archivo en un servidor central sus  ip correspondientes, indicando si están abiertos o no, y los clientes elijan en ese archivo que servidores quieren usar. No se si esto te sirve de algo. Saludetes