Grazie della tua disponibilità ma ho ancora qualche problema più che altro perché non ho ben capito il tuo codice.
Ho copiato il tuo codice così come lo hai postato nella classe socket e nel metodo run ma quando compilo compare il seguente errore:
codice:
/usr/include/c++/4.6/functional 1287 error: use of deleted function ‘Socket::Socket(const Socket&)’
e non saprei come risolvere visto che non ho ben capito che cosa hai fatto nella classe Socket

PS dove hai imparato tutte ste cose? io ho cercato qualche libro ma non ho trovato nulla di specifico a parte un libro da 90 € e su internet non trovo tanti esempi e quelli che trovo sono banali e il più delle volte non adatti al mio caso.

Grazie