si se cierra que se reabra?
o que si se desconecta un winsock se reconecte?
Lo primero se hace con un segundo programa que hace de keep alive, y revive tu programa si se cierra.
Lo segundo, revisa los eventos del socket y busca algo como "on disconect" y ponele que se conecte de vuelta

ahora... porque se desconectaria el sock?