La Web del Programador: Comunidad de Programadores
 
    Pregunta:  9509 - PROBLEMAS AL VOLVER A CONECTARME CON WINSOCK
Autor:  Alexis Alberto Aravena Silva
Mi problema es el siguiente, tengo en un pc una aplicacion con un control winsock a modo de escuha y me conecto desde otro equipo como cliente con winsock, la primera vez funciona, pero si vuelve a ejecutar el cliente me arroja un error, me imagino que tal vez puede ser que el puerto quede ocupado, pero probe cerrando con la propiedad close desde el cliente pero sigue fallando.

De antemano muchas gracias.

  Respuesta:  J RC
Efectivamente, tu problema es que el socket se queda ocupado durante un tiempo y no puede recibir más peticiones. Lo que tienes que hacer es, en vez de utilizar un sólo control WinSock, utilizar una matriz de ellos e instanciar con cada petición un nuevo elemento, que es el que va a atender la nueva petición.
Yo lo implementé así en un programa de mensajería en el que un servidor coordinaba los mensajes entre varios clientes y no tuve ningún problema.

  Respuesta:  SuNcO Castañeda
Pues mira mi chavo, el unico remedio que encontre despues de tanto buscarle es este : Cerrar siempre el servidor antes ke el cliente

Esto lo puedes hacer haciendo ke el cliente mande una clave al cliente y ke cuando este la lea diga "ah, es hora de cerrarme" y ke al cerrarse se ponga en listen de nuevo automaticamente, asi el puerto keda libre

Asi te aseguro ke no te vuelve a marcar error, solo sucede cuando cierras el cliente y en el sevidor se keda el puerto ocupado