Non capisco alcuni aspetti legati alla "richiesta di amicizia".
1) Nel testo c'è scritto che il server deve aprire una connesione TCP con il client B per verificare se è online, quindi in questo caso i ruoli si invertono si invertono? cioè il Client fa il Server e viceversa?
2) Se giusta l'ipotesi del punto 1), come fa il server "quello vero" a distinguere con quale Client aprire la connessione TCP essendo tutti client in attesa sulla stessa porta?