Actualmente estoy escribiendo una pequeña aplicación de servidor, y mi problema es que cuando cierro mi aplicación (o mejor, presiono el botón terminar en eclipse), el socket a veces permanece abierto, así que cuando ejecute mi aplicación la próxima vez, bind() fallará con "Dirección ya en uso". ¿Cómo puedo cerrar correctamente los enchufes cuando sale el programa? Ya puseEl socket permanece abierto después de cerrar el programa (C++)
close(mySocket);
en los destructores de clase, pero eso no parece cambiar nada.
¿Estás seguro de que los destructores se están ejecutando? ¿Puedes poner alguna salida o un punto de quiebre allí para ver? –
TCP está estandarizado "en el cable" pero no en el nivel API. Por lo tanto, una de las cosas más importantes al hacer preguntas con respecto a TCP es divulgar la plataforma. –