zu 1:
du versuchst zu connecten
-> schlägt fehl -> timer für reconnect starten, der alle 10 sec neu probiert zu connecten
-> ist connected -> timer anhalten falls gestartet
zu 2:
genau so wie der hinweg
sobald eine
tcp verbindung aufgebaut ist kannst du mit den vorhandenen instanzen der clients und server IN BEIDE RICHTUNGEN kommunizieren
da brauchst du nicht unnötiger weise im client nochmal einen server instanziieren oderso.
Das echte Leben ist was für Leute...
... die im Internet keine Freunde finden!