Foros aprenderaprogramar.com

Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: leo_1501 en 20 de Julio 2014, 23:09

Título: cajero automatico en java comunicar cliente y servidor
Publicado por: leo_1501 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);
}
}
}
Título: Re:cajero automatico en java
Publicado por: Alex Rodríguez 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.
Título: Re:cajero automatico en java
Publicado por: leo_1501 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
Título: Re:cajero automatico en java
Publicado por: Alex Rodríguez en 21 de Julio 2014, 17:53
¿Pero esa parte (comunicación cliente - servidor) no decías que ya la tenías resuelta?
Título: Re:cajero automatico en java
Publicado por: leo_1501 en 21 de Julio 2014, 19:23
si me confundi se colo esa perte... decia la parte del socket
Título: Re:cajero automatico en java
Publicado por: Alex Rodríguez en 21 de Julio 2014, 23:09
Sí, por eso, es que los sockets se usan para la comunicación cliente - servidor...