Java - Dudas java

   
Vista:

Dudas java

Publicado por Oraqle (2 intervenciones) el 27/03/2009 18:58:31
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 tengor ealizado 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);
}

}

}

Agradecería mucho cualquiera ayuda.

Gracias de antemano.
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