import socket import tkinter as tk # CREAR SOCKET TCP/IP socket_cliente = socket.socket(socket.AF_INET, socket.SOCK_STREAM) socket_cliente.connect(('localhost', 8088)) #ESTADO CONEXION conectado = True def principal(): # VENTANA raiz = tk.Tk() raiz.title("Cliente") # LABEL INGRESAR NOMBRE entrada_nombre = tk.Entry(raiz, font=("Arial", 14)) entrada_nombre.pack(pady=10) # ENVIAR NOMBRE AL SERVIDOR def enviar_nombre_callback(): nombre = entrada_nombre.get() enviar_nombre(nombre, entrada_nombre, boton_enviar) # Botón para enviar el nombre boton_enviar = tk.Button(raiz, text="Enviar Nombre", command=enviar_nombre_callback) boton_enviar.pack(pady=5) # Botón para desconectar boton_desconectar = tk.Button(raiz, text="Desconectar", command=desconectar) boton_desconectar.pack(pady=5) # Iniciar el bucle de eventos de la interfaz gráfica raiz.mainloop() def enviar_nombre(nombre, entrada_nombre, boton_enviar): global conectado try: if conectado: # ENVIAR NOMBRE socket_cliente.send(nombre.encode()) #RESPUESTA SERVIDOR respuesta = socket_cliente.recv(1024).decode() print(respuesta) # DESHABILITAR entrada_nombre.config(state=tk.DISABLED) boton_enviar.config(state=tk.DISABLED) except Exception as e: print("Error:", e) conectado = False def desconectar(): global conectado try: if conectado: # NOTIFICAR AL SERVIDOR socket_cliente.send("desconectar".encode()) # CERRAR SOCKET socket_cliente.close() conectado = False except Exception as e: print("Error al desconectar:", e) # BLOQUE DE INICIALIZACION if __name__ == "__main__": principal()