Java - Socket y compañia

 
Vista:

Socket y compañia

Publicado por Antonio (5 intervenciones) el 05/10/2000 00:00:00
Vamos a ver he desarrollado un servidor chat que corre estupendisimamente junto con los clientes en un hostlocal, pero si intento acceder al server desde otro ordenador(Ya sea desde internet o desde una red local) no funciona. ¿Por que?
¿Necesito Windows 2000 Server o algo por el estilo? ¿Por que diablos nadie puede acceder a mi server?
Repito que si corro los clientes en mi propio ordenador no tienen ningun problema.

Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Socket y compañia

Publicado por Seba (15 intervenciones) el 05/10/2000 00:00:00
Creo que se cual es tu problema (puede ser otro desde luego).

Tu corres este servidor que has programado en tu propio computador, corres los clientes en el mismo computador indicándoles que se conecten a localhost y todo funciona de maravillas.

Le envías las clases que componen el cliente a un amigo tuyuo (por ejemplo) y este los ejecuta, e intenta conectarse a tu servidor.

1.- Deebn estar ambos conectados a Internet o a una red IP en general. SUpongo que este NO es tu problema.

2.- Tu amigo (en este caso) debe conectarse a la IP que tenga tu computador. Todo computador conectado a la Internet tiene una dirección IP. Si estás bajo Windows, anda a la carpeta de instalación de Windows (c:\Windows por ejemplo) y busca un programa que se llama winip.exe (podría llamarse distinto, no estoy en un Windows9x ahora, no puedo revisar). Este programa te muestra, entre otras cosas, tu direción IP. Tu dirección IP va a ser una secuencia de 4 números separados por puntos, por ejemplo: 143.56.101.4

Luego, tu amigo debe conectarse con el cliente a la dirección IP que tengas.

Ojo: lo más probable es que tu proveedor de acceso a Internet (ISP) te asigne una IP distinta acada vez que te conectas con tu modem. Así es que tendrás que ejecutar este programa cada vez que te conectes para saber tu IP actual. (Hay otras formas de ver tu IP, pero este es rápido y común).

Espero que te haya servido esta ayuda.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Interesado en el tema

Publicado por Jose (8 intervenciones) el 06/10/2000 00:00:00
Estoy interesado en el tema ya que quiero hacer un chat y me han entrado algunas dudas al leer esta respuesta.
Entiendo por tu respuesta que ¿no es posible hacer un chat(que funcione como los de los portales por ejemplo)sin tener una direccion IP propia?
¿que es que el servidor no puede alojarse en algun sitio de alojamiento gratuito,correr desde alli,y que todos los posibles clientes se conecten a el, ya que tiene una direccion IP fija?

No entiendo mucho de Java, y me habia propuesto progamar un chat,la verdad esto me ha desanimado ya que su utilizacion seria complicada.

Gracias por vuestras respuestas y un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Interesado en el tema

Publicado por Seba (15 intervenciones) el 07/10/2000 00:00:00
No es tan complicado (una vez que captas lo b´sico), más bien yo tiendo a ser un tanto complicado en explicar cosas simples...

El servidor del chat es un programa simplemente. Los clientes del chat incian una conexión hacia algún computador con esperanzas de que esté corriendo servidor. Si el computador efectivamente está corriendo el servidor (y todo está configurado apropiadamente) entonces el cliente inicia una sesión con el servidor y puede acceder a los servicios que esté ofrece. (Existen situación diferentes pero esta es la más común y la que se aplica al problema actual).

Según esto, el cliente tiene que poder elegir hacia donde conectarse (pues no sirve que simplemente tanteé por toda la red hasta encontrar algo!). Para esto al cliente se le suministra una direccón del computador. Esta dirección puede ser una dirección IP (p.ej: 204.56.12.70) o un nombre de host (p.ej: chat.lawebdelprogramador.com), que de todas formas es transformada a una dirección IP. En Java pueeds crear un Socket (con el cual creas las conexiones) a partir de una IP o el nombre de un host, así que sabes la dirección IP bien, sino puedes usar el nombre de host.

Ahora, si corres el servidor en, digamos, el computador de tu casa que puede no tener una IP fija sino una que cambia cada vez que vuelves a conectarte a la red, entonces deberás averiguar tu IP actual e informar a tus usuarios de ella cada vez que vuelvas a conectarte.

Si deseas hacer (en este caso) un chat para fines más que simplemente conversar con uns o dos buenos amigos a aquienes les enviarías cada vez tu IP, y en cambio quieres tener un chat para los visitantes a tu sitio que funcione las
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Interesado en el tema

Publicado por Jose Luis (8 intervenciones) el 07/10/2000 00:00:00
Gracias por tu respuesta.Creo que hubo un problema y no te cogio todo el texto.
Precisamente se corto en lo mas interesante ¿seria mucho pedir que me enviases lo que falta de tu respuesta?
termino asi
"Si deseas hacer (en este caso) un chat para fines más que simplemente conversar con uns o dos buenos amigos a aquienes les enviarías cada vez tu IP, y en cambio quieres tener un chat para los visitantes a tu sitio que funcione las "

Gracias por anticipado
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Interesado en el tema

Publicado por Antonio (5 intervenciones) el 07/10/2000 00:00:00
Antes de nada gracias pero no es ese mi problema. Se todo esto de las IPs, mira con un:
InetAddress.getLocalHost() (Que por cierto siempre es la misma)tengo mi IP, creo el cliente a partir de esta ip y con la misma conexion le envio a un amigo el cliente via mail, este lo ejecuta en su ordenador pero nada.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Interesado en el tema

Publicado por Jorge Sanchez (12 intervenciones) el 08/10/2000 00:00:00
Si el ip que siempre te sale es 127.0.0.1 es porque solo estas usando el ip local, debes hacer una pequeña modificacion para que tomes el ip correcto.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Interesado en el tema

Publicado por Seba (15 intervenciones) el 08/10/2000 00:00:00
Puede ser cierto lo que dice Jorge (aunque no estoy absolutamente seguro).

Si pudieses publicar trozos del diálogo de ejecución (comando escrito, errores mostrados, mensajes del programa ...) entonces seguro que te ayudamos a resolver definitivamente tu problema.

--

Lo que me faltó del texto anterior hablaba acerca de correr el servidor de chat en un computador "fijo". Un computador con una dirección IP fija y/o un nombre host. En ese caso debes tener acceso a ejecutar programas en dicho computador. Es dificil que te dejen hacer eso incluso en planes buenos de webhosting. Más bien trata de conseguir algún amigo que tenga computadores con enlace dedicado.

En todo caso, una vez consigas ejecutar el servidor en una máquina, es importante que si tu cliente es un Applet, esté insertado en un documento HTML albergado en la mimsa máquina que el servidor. Pues es común que las restricciones d seguridad que impone el browser no permitan que el Applet se conecte a otras máquinas (o máquinas fuera del dominio al menos).
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Nueva informacion

Publicado por Antonio (5 intervenciones) el 08/10/2000 00:00:00
Antes de nada agradecer toda la ayuda que me habeis prestado, vamos a ver el host local que me sale es mas o menos asi:
Antonio/169.274.321.23 Mas o menos

Pero en una página he visto que con un javascrip me han dicho que mi ip es 65.33.344.32
¿Como es esto? Tengo dos ips. no es lo mismo el host que la ip.
Todavia no lo he probado pero supongo que si cambio en el cliente la antigua direccion 169.. por la 65.. seguro que funcionara, pero esto es mientras este conectado a internet por que y en una red local que es lo que de verdad me interesa.
Me podeis explicar algo de esto que no me entero.
Gracias de nuevo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Nueva informacion

Publicado por Seba (15 intervenciones) el 08/10/2000 00:00:00
Hay al menos dos razones probables por las cuales pareciera que tienes 2 IP distintas (descartando que el javascript esté malo!):

1.- Corresponden a os conexiones distintas. O sea, un resultado lo obtuviste una vez que te conectaste a la red y el otro resultadoa otra vez distinta que te conectaste. Lo más seguro es que tu proveedor te asigne una IP distinta cada vez que te conectas, pero creo que ya tienes eso claro y habrás tenido cuidado en comparar resultados de una misma conexión.

2.- Usas un servidor proxy. Si para visitar páginas web utilizas un servidor proxy, entonces los servidores a quienes pides páginas ven que las peticiones viene del servidor proxy (no de ti directamente) entonces el javascript mencionado mostrará la dirección IP del servdor proxy.

Se entiende? Espero qe eso te sirva. Lo otro es que tengas un enredo con tu configuración de Internet, pero es muy poco probable y ni siquiera estoy muy seguro de que tendrías que tener mal configurado, así que olvídalo.

Apuesto por el proxy :-)

Los mensajes de error que "tira" el cliente pueden ser de mucha ayuda. Si los pudieras publicar podría confirmarte si acaso es realmente un problema de IP´s o quizás otra cosa.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Vamos a ver

Publicado por Antonio (5 intervenciones) el 09/10/2000 00:00:00
Las dos direcciones las hayo a la vez solo que una con el javascript(Que por cierto no es un javascript, es una pagina asp, o sea que la crea el servidor sobre la marcha, por lo que es el servidor de la page el que me da esta ip), y la otra la hayo a la vez utilizando un programa para allar ip escrito en c++ o haciendolo yo mismo mediante el metodo localHost() del InetAddress.
Yo creo que la que me da la pagina web es la del proxi de retevision(mi conexion) es algo asi:

"Conectado desde 71-gran-x9.libre.retevision.es
IP: 62.82.116.71"

Mi ordenador es el server de una red local por lo que al empezar se le asigna una ip que no es la misma logicamente que luego me asigna un servidor de internet como es alehop. Por tanto, parece que no habria ningun problema si utilizara mi servidor en internet utilizando cada vez la ip que me asigna retevision. El problema es que no los puedo comunicar en red local. Y la red esta perfectamente configurada, ya que hago uso de ella mediante el explorer o el Quake. Pero por lo visto la ip que me da el metodo localHost de java no es la autentica ya que no puedo encontrarla en los otros ordenadores de la red, pero por otro lado no hay ningun problema desde el mio, es decir: si runno el servidor y ejecuto el cliente diciendole que se conecte a la ip: 169.3.....(no al host local 127.0.0.1, no sino a la que en teoria es la de mi server) va sin problema, pero desde los otros ordenadores no tira.

Me podeis ayudar a ver que pasa aqui.
Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Mas ip(valla lio)

Publicado por Jose Luis (8 intervenciones) el 09/10/2000 00:00:00
En vez de ayudar a lo mejor entorpezco,pero bueno que se le va hacer.
Ya que tienes dos sistemas de hayar la IP y no te dan el mismo resultado te voy a decir un terceroa ver si se produce un desempate, es muy sencillo:
Abre una ventana de dos y escribe "ipconfig".Yo cada vez que lo pruevo me da una IP diferente que segun creo es lo normal.

PD: como sigamos asi llenaremos toda esta hoja
Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Firewall?

Publicado por Seba (15 intervenciones) el 10/10/2000 00:00:00
Maldición! Estaba respondiendo acerca de tu problema, llevaba como 5 párrafos y se cortó la luz!
No alcanzó a durar 30 segundos, pero perdí toda la respuesta :-(

Voy a tratar de resumir lo que estaba diciendo:

Creo que tu computador podría estar detrás de un firewall. Si es así es muy probable que en
la configuración del firewall estén bloqueados ciertos puertos
(o que estén bloqueados TODOS, salvo algunos puertos). Si este es el acso, entonces puede ser
que el puerto que has escogido para el servidor de chat (o lo que sea en general), esté bloqueado.

Esto significa que aunque alguien tenga tu IP correcta, el firewall no dejará pasar los paquetes de información
destinados al puerto de tu chat. Consulta con tu administrador que puertos están bloqueados (si que hay puertos bloqueados) y
cuáles puedes utilizar para tu chat. Si la política de seguridad en tu lugar de trabajo es estricta, o es dificil ubicar al administrador, o éste no tiene
muy buena voluntad, o nadie en realidad sabe de que estás hablando ("alguien vino una vez y configuró todo, pero ya no trabaja con nosotros"),
entonces es probable que tengas que recurrir a correr tu servidor en algún puerto que usualmente está reservado para otros
servicios que sulen estar permitidos en el firewall. Por ejemplo usar el puerto 80 (HTTP).

Supongo que algunos firewall pueden configurarse para que no dejen pasar paquetes a través de puertos reservados
que no cumplan el formato adecuado, pero no se que tan usual sea eso.

En definitiva consulta a tu administrador, quizás tampoco sea este el problema.

Si persistes con pr
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Firewall? (continua)

Publicado por Seba (15 intervenciones) el 10/10/2000 00:00:00
(Odio el límite de caracteres de este foro :-) )

>Solo faltaba decir que:

En definitiva consulta a tu administrador, quizás tampoco sea este el problema.

Si persistes con problemas no dudes en publicar de immediato en el foro :-)

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Gracias

Publicado por Antonio (5 intervenciones) el 11/10/2000 00:00:00
Gracias pero sigo sin enterarme descarto lo del firewall por que he probado muchos puertos y nada. Seguire probando y si lo consigo os lo digo. Si os enterais de algo nuevo dejad una nota en el foro.
Gracias a todos por el enorme interes.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Gracias

Publicado por Seba (15 intervenciones) el 11/10/2000 00:00:00
Debo insistir en lo del firewall. Quizás no sea el problema, pero te preciso que es perfectamente probable qe un firewall este configurado para cerrrar TODOS los puertos salvo uno dos que son usados para http, ftp, telnet, etc.

En ese caso no importaría cuántos puertos pruebes, no sería cosa de suerte.

Si puedes preguntar acerca de la configuracion (o existencia) del firewall, hazlo. Aunque sea para eliminar definitivamente esa posibilidad.

Espero que puedas solucionar tu problema pronto,

suerte! :-)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar