Si mes souvenirs de cours sont bons... ( euh c sous linux, mais je pense pas qu´il y ai beaucoup de différence sous windows pour ca
3- Tu peux les différencier via leur adresse ip par exemple ( y a des fonctions pour ca sous linux donc doit y avoir la même chose sous win ) ou meme faire un fork() séparant ainsi la socket auquel le client s´est rattaché de ta socket sur laquelle les clients se connectent. pour pouvoir récupérer plusieurs connections, tu mets un listen() sur ta socket juste avant...
4- Tu peux redéfinir les entrées sorties de ton programme et lui y associer ta socket... Après ca un petit cin cout... Sinon tu peux utiliser les fonctions read write en la liant à un pointeur vers fichier... ca devrait régler le problème de bloquage