Ciao Marco,
per dare una risposta sensata al tuo problema, bisogna provare tutto il codice.
Per provare il codice, bisogna creare un progetto per il server e uno per il client.
Il tempo che ci vuole non e' indifferente e per questo, penso, tu non hai risposte ...
Se potessi mettere a disposizione i due progetti, pronti per l'uso, su un qualsiasi sito in modo da scaricarli e provarli, forse si puo' dare un'occhiata in quanto si risparmierebbe un sacco di tempo ...