entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

1voto

programacion imperativa multihilos y sockets

conosco los hilos a nivel teorico, se que existen dos modulos para hacer uso de ellos, uno es de bajo ivel y el otro de alto nivel, el primero es el threading y el segundo es el thread, esto lo he visto en una wiki, despues de eso se que existen muchisimos metodos pero no se cual usar para mi proposito osea una chat local que puede atender multples clientes, lo que tengo ahora es un servidor que puede atender solo un cliente, si me conecto con otro cliente se cierra la conexion, el codigo es el siguiente

#servidor
import socket

host = "127.0.0.1"
port = 6666

sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
print ("Socket Created")
sock.bind((host, port))
print ("socket bind complete")
sock.listen(1)
print ("socket now listening")

while 1:
        conn, addr = sock.accept()
        try:

             print('conexion con {}.'.format(addr))

             conn.send("server: Hello client".encode('UTF-8'))

             while True:

                 datos = conn.recv(4096)
                 if datos:
                     print('recibido: {}'.format(datos.decode('utf-8')))

                 else:
                     print("prueba")
                     break

        finally:
            conn.close()  
#cliente
import socket

host = "127.0.0.1"
port = 6666

sock = socket.socket()

sock.connect((host, port))

datos = sock.recv(4096)
print (datos.decode('utf-8'))

while True:

  message = input("envia un mensaje")
  sock.send(message.encode('utf-8'))

  if message == "quit":
    break
    print("bye")
    sock.close()

agradesco cualquier sugerencia o solucion

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta