Sofern dein Server es nicht explizit verbietet, dass die gleiche
IP zwei mal verbunden ist, ist das kein Problem mit dem abgestürzten Client.
Was das Schließen angeht: ich denke das hängt auch von der Implementierung der Sockets ab. Insofern will ich mich diesbezüglich nicht zu weit aus dem Fenster lehnen, wie es bei dir ist. Ich würde nur den Client schließen lassen und die Verbindung serverseitig beliebig lang offenhalten. Der Client bestimmt, wann er fertig ist. Wie bei HTTP.