Autor Tema: cajero automatico en java comunicar cliente y servidor  (Leído 18150 veces)

leo_1501

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 3
    • Ver Perfil
cajero automatico en java comunicar cliente y servidor
« en: 20 de Julio 2014, 23:09 »
buenas tardes si podrian ayudarme con esto necesito entregar esto el martes ya tengo la comunicacion entre cliente y servidor lo demas tengo algunas cosas pero me da muchos errores podrian ayudarme porfavor


         Se requiere la creación de dos procesos en Java, un proceso cliente y un proceso servidor, para la simulación del funcionamiento de un cajero automático:
El servidor
1.   Cargar datos desde un archivo de texto que tenga el siguiente formato:
a.   Nombre
b.   Apellido
c.   Cedula de indentidad
d.   Edad
e.   Sexo
f.   Sueldo
g.   Monto disponible en cuenta de ahorro
h.   Clave del cajero
i.   El archivo de texto de entrada tiene el siguiente formato:
I.   Nombre: proyecto1_lista.txt
II.   Cantidad máxima de líneas: 100
III.   Datos sin orden establecido
j.   Debe ser capaz de recibir un paquete de datos desde el proceso cliente con los datos necesarios para hacer las transacciones básicas de un telecajero cambio de clave, consulta de saldo y retiro de efectivo.
k.   Validar si los datos básicos son los correctos para permitir la transacción.
El cliente:
2.   Solicitar por pantalla los datos del cliente necesarios para realizar la transacción
3.   Armar el paquete con los datos que necesita el servidor para realizar la transacción
4.   Imprimir por pantalla el resultado de la transacción
Se Evaluara:
1.   Protocolo usado entre el cliente y el servidor
2.   Funcionamiento del protocolo Socket 
3.   Funcionamiento del modelo Cliente/Servidor
4.   Consulta de saldo
5.   Cambio de clave
6.   Retiro de dinero
 
tengo esto
servidor
Código: [Seleccionar]
import java.net.*;
import java.io.*;

public class EchoServer
{
public static void main(String[] args) throws IOException
{

if (args.length !=1)
{
System.err.println("Usage: java EchoServer <port number>");
System.exit(1);
}

int portNumber = Integer.parseInt(args[0]);


ServerSocket serverSocket = new ServerSocket(Integer.parseInt(args[0]));
Socket clientSocket = serverSocket.accept();
PrintWriter out = new PrintWriter(clientSocket.getOutputStream(), true);
BufferedReader in= new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
try
{
String inputLine;
while ((inputLine = in.readLine()) !=null)
{
out.println(inputLine);
System.out.println("Recibi:<"+inputLine+">");
}
} catch (IOException e)
{
System.out.println("Exception caught when trying to listen on port"+portNumber +"or listening for a connection");
System.out.println(e.getMessage());
}
 }
 }

y en el cliente


Código: [Seleccionar]
import java.io.*;
import java.net.*;

public class EchoClient {
public static void main(String[] args) throws IOException {

if (args.length !=2) {
System.err.println("usage: java EchoClient <host name> <port number>");
System.exit(1);
}

String hostName=args[0];
int portNumber= Integer.parseInt(args[1]);

Socket echoSocket=new Socket (hostName, portNumber);
PrintWriter out=new
PrintWriter(echoSocket.getOutputStream(), true);
BufferedReader in=new BufferedReader(new InputStreamReader(echoSocket.getInputStream()));
BufferedReader stdIn= new BufferedReader(new InputStreamReader(System.in));
try {
String userInput;
while ((userInput=stdIn.readLine()) !=null)
{
out.println(userInput);
System.out.println("echo:"+in.readLine());
}
}catch (UnknownHostException e)
{
System.err.println("Servidor desconocido "+ hostName);
System.exit(1);
}catch (IOException e){
System.err.println("Couldn t get I/O for the connection to "+hostName);
System.exit(1);
}
}
}
« Última modificación: 13 de Septiembre 2014, 19:05 por Alex Rodríguez »

Alex Rodríguez

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2050
    • Ver Perfil
Re:cajero automatico en java
« Respuesta #1 en: 21 de Julio 2014, 17:25 »
Hola, para pegar código usa por favor el botón # del foro, púlsalo y cuando te aparezcan las etiquetas [ code ] .... [ / code] pega el código entre ambas.

Para el programa que planteas puedes empezar por recuperar los datos desde archivo. Crea uno o dos modelos de archivo y una clase que recupere los datos. Aquí tienes un código de ejemplo: https://www.aprenderaprogramar.com/foros/index.php?topic=946

Vete pegando el código que crees y trataré de ir chequeándolo. Saludos.

leo_1501

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 3
    • Ver Perfil
Re:cajero automatico en java
« Respuesta #2 en: 21 de Julio 2014, 17:43 »
ok perfecto muchas gracias lo revisare de inmediato, lo otro bueno primera vez que uso este foro a la proxima con gusto uso el botón # gracias de todas formas lo que no se hacer y no logro entender en este ejercicio es esto
1.   Protocolo usado entre el cliente y el servidor
2.   Funcionamiento del protocolo Socket
« Última modificación: 21 de Julio 2014, 17:46 por leo_1501 »

Alex Rodríguez

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2050
    • Ver Perfil
Re:cajero automatico en java
« Respuesta #3 en: 21 de Julio 2014, 17:53 »
¿Pero esa parte (comunicación cliente - servidor) no decías que ya la tenías resuelta?

leo_1501

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 3
    • Ver Perfil
Re:cajero automatico en java
« Respuesta #4 en: 21 de Julio 2014, 19:23 »
si me confundi se colo esa perte... decia la parte del socket

Alex Rodríguez

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2050
    • Ver Perfil
Re:cajero automatico en java
« Respuesta #5 en: 21 de Julio 2014, 23:09 »
Sí, por eso, es que los sockets se usan para la comunicación cliente - servidor...

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".