He acabado con limitacion de clientes, que salen mensaje que no pude conectar un cliente como no hay coneciones libres y que 'desconecta' el cliente. Tambien, aparacen mensajes cuando no hay sufidente dinero y desconectan

master
vicsash 9 months ago
parent 32655b8c32
commit 6821bfcde1

@ -0,0 +1,13 @@
Proyecto de simulacion de cajero automatico
Este proyecto simula como funciona un cajero automatico, con opcion de retirar dinero.
Habia que conseguir varia cosas, que pueden conectar varios usuarios o mejor dicho clientes al servidor para retirar dinero y habia que limitar el numero maximo de clientes que pueden conectar al servidor.
Encaso que no hay conecion libre no pueden conctar al 'cajero' y tienen sale mensaje que no hay conecion libre y se deconectal el cliente. En el Servidor
se puede ver cuantos clientes estan conectados y cuantos clientes desconectan del servidor.
Segundo objetivo era que en caos que no hay suficiente dinero en el cajero, el cliente no puede retirar dinero y sale mensaje que no hay suficiente dinero en el cajero.
Puude necesitar la instalacion de siguintes cosas:
pip install six

@ -1,5 +1,4 @@
import socket import socket
import sys
import threading import threading
HOST = '' HOST = ''
@ -45,6 +44,7 @@ def handle_client(client_socket, addr):
print(f"Saldo restante: {MAX_DINERO}") print(f"Saldo restante: {MAX_DINERO}")
else: else:
response = "Saldo insuficiente por favor intente mas tarde." response = "Saldo insuficiente por favor intente mas tarde."
print("Saldo insuficiente para operacion.")
client_socket.sendall(response.encode('utf-8')) client_socket.sendall(response.encode('utf-8'))
elif command.lower() == 'exit': elif command.lower() == 'exit':
break break

@ -41,6 +41,11 @@ while True:
elif command.lower() == 'retirar': elif command.lower() == 'retirar':
amount = input("Entera la cantidad de dinero: ") amount = input("Entera la cantidad de dinero: ")
message = f"{command} {amount}" message = f"{command} {amount}"
s.sendall(message.encode('utf-8'))
data = s.recv(1024)
if data.decode('utf-8') == "Saldo insuficiente por favor intente mas tarde.":
print("No hay suficientes fondos. Por favor intente más tarde.")
break
else: else:
print("Comando no reconocido") print("Comando no reconocido")
message = command message = command

@ -41,6 +41,11 @@ while True:
elif command.lower() == 'retirar': elif command.lower() == 'retirar':
amount = input("Entera la cantidad de dinero: ") amount = input("Entera la cantidad de dinero: ")
message = f"{command} {amount}" message = f"{command} {amount}"
s.sendall(message.encode('utf-8'))
data = s.recv(1024)
if data.decode('utf-8') == "Saldo insuficiente por favor intente mas tarde.":
print("No hay suficientes fondos. Por favor intente más tarde.")
break
else: else:
print("Comando no reconocido") print("Comando no reconocido")
message = command message = command

@ -41,6 +41,11 @@ while True:
elif command.lower() == 'retirar': elif command.lower() == 'retirar':
amount = input("Entera la cantidad de dinero: ") amount = input("Entera la cantidad de dinero: ")
message = f"{command} {amount}" message = f"{command} {amount}"
s.sendall(message.encode('utf-8'))
data = s.recv(1024)
if data.decode('utf-8') == "Saldo insuficiente por favor intente mas tarde.":
print("No hay suficientes fondos. Por favor intente más tarde.")
break
else: else:
print("Comando no reconocido") print("Comando no reconocido")
message = command message = command

@ -41,6 +41,11 @@ while True:
elif command.lower() == 'retirar': elif command.lower() == 'retirar':
amount = input("Entera la cantidad de dinero: ") amount = input("Entera la cantidad de dinero: ")
message = f"{command} {amount}" message = f"{command} {amount}"
s.sendall(message.encode('utf-8'))
data = s.recv(1024)
if data.decode('utf-8') == "Saldo insuficiente por favor intente mas tarde.":
print("No hay suficientes fondos. Por favor intente más tarde.")
break
else: else:
print("Comando no reconocido") print("Comando no reconocido")
message = command message = command
Loading…
Cancel
Save

Powered by INFORMATICA.FP.EDU.ES.