Originariamente inviato da Fusic86
Ok, arrivando a stampare la risposta significa che le varie connessioni funzionano(o almeno cosi sembra essendo le chiamate a send e recv bloccanti).
Detto questo da una prima occhiata posso intanto dirti che manca la finalizzazione del buffer a, ma non credo che sia questo il problema.

Dopo questa operazione:
codice:
recv(sockid,a,sizeof(a),0);
Devi contare le posizioni di a e assegnare uno 0 a quella finale.
Non so se recv() in C++ come read() in C ritorna il numero di bytes letti.
in quel caso basterebbe fare:
Int nbytes= recv(....);
a[nbytes]=0:
fatto e.. ci sono rimasto male recv restituisce -1 . e ora dove sarà il problema?

EDIT:

errore STUPIDISSIMO
nel server, quando devo ricevere, come argomento 1 di recv() passo l'id del socket del server e non del client