Foros del Web » Programación para mayores de 30 ;) » Java »

Problema Servidor/Cliente

Estas en el tema de Problema Servidor/Cliente en el foro de Java en Foros del Web. Buenas a todos. Tengo un problema con un programa de java el cual no soy capaz de visualizar y no logro sacarlo. El programa lo ...
  #1 (permalink)  
Antiguo 29/03/2009, 12:30
 
Fecha de Ingreso: marzo-2009
Mensajes: 2
Antigüedad: 15 años, 8 meses
Puntos: 0
Pregunta Problema Servidor/Cliente

Buenas a todos.

Tengo un problema con un programa de java el cual no soy capaz de visualizar y no logro sacarlo.

El programa lo realizamos entre dos personas en plan cliente/servidor, en un primer caso uno hace de cliente y el otro de servidor, y en el segundo caso al revés.

El cliente introduce un formato html que le envia al servidor el cual lo recoge y arranca una pagina html con el mismo formato en local.

Pues bien, no lo saco, estoy cerrado en banda y no lo visualizo, se que, en caso de ser el servidor, tengo que utilizar el metodo de socket getInetAddress() para conseguir la IP del cliente (llamemosla IPRemoto), pero ni idea.

Os plasmo como tengo realizado el programa haciendo yo de cliente y servidor al mismo tiempo.

CLIENTE:

package clienteservidor;

import java.net.Socket;
import java.io.*;
import java.net.UnknownHostException;

public class TCPCliente {

public static void main(String[] args)
{
OutputStream FlujoDeSalida;
DataOutputStream Flujo;

try
{
Socket SocketCliente = new Socket ("localhost", 8000);

FlujoDeSalida = SocketCliente.getOutputStream();
Flujo = new DataOutputStream(FlujoDeSalida);
Flujo.writeBytes("Hola mundo");

SocketCliente.close();
}catch (UnknownHostException e)
{
System.out.println ("Referencia a host no resuelta");
}catch (IOException e)
{
System.out.println ("Error en las comunicaciones");
}catch (SecurityException e)
{
System.out.println ("Comunicacion no permitida por razones de seguridad");
}

}
}

-------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------

SERVIDOR:

package clienteservidor;

import java.net.ServerSocket;
import java.net.Socket;
import java.io.*;

public class TCPServidor {

public static void main(String[] args) {
byte[] Mensaje=new byte[80];
InputStream FlujoDeEntrada;
DataInputStream Flujo;

int BytesLeidos;
try {
ServerSocket SocketServidor = new ServerSocket(8000);
System.out.println("Esperando una solicitud...");
Socket ComunicaConCliente = SocketServidor.accept();

System.out.println("Comunicacion establecida");
FlujoDeEntrada = ComunicaConCliente.getInputStream();
Flujo = new DataInputStream(FlujoDeEntrada);

do
{
BytesLeidos = Flujo.read(Mensaje);
if (BytesLeidos>0)
{
System.out.print(new String(Mensaje).trim());
}
} while(BytesLeidos>0);

ComunicaConCliente.close();
SocketServidor.close();
} catch (IOException e)
{
System.out.println("Error en las comunicaciones");
System.exit(0);
} catch (SecurityException e)
{
System.out.println("Comunicacion no permitida por razones de seguridad");
System.exit(0);
}

}

}

Este codigo lo pongo a modo de ejemplo, en el que se ve que yo hago los dos papeles de servidor y cliente, pero ya os digo que, ni idea de como poder reconocer la ip (IPRemoto) ni de como utilizar getInetAddress() .

Agradecería mucho cualquiera ayuda.

Gracias de antemano.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:56.