You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

73 lines
1.8 KiB

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()

Powered by INFORMATICA.FP.EDU.ES.