1) hai dichiarato questi

char command[1024];
char response[1024];
char mex[1024];

ma non li usi ...

2) qui fai una closesocket

if(WSAStartup(MAKEWORD(2,0),&data) != 0)
{
closesocket(sock);
WSACleanup();
return 0;
}

ma il socket non e' ancora aperto ...
Qui sono errori di copia incolla perchè come ho detto prima ho attinto da più fonti.
Questo codice è il primo dei primi esempi per capire il funzionamento.

3) usi una for "infinita"

for(;

ma cosi' il server non puo' essere mai chiuso ...
Cosa consigli te? un while? e come uscire dal ciclo?



4) se non usi dei thread, non potrai accettare connessioni da piu' client ma solamente dal primo ...
si questo è intenzionale.

5) non controlli l'effettiva riuscita di alcune funzioni (listen, accept ...)
era in programma


6) a cosa ti serve

isClientConnected = true;

se poi non lo usi?
sempre errore di troppi cut&paste.

Per quanto riguarda la mia ultima domanda, forse non sono stato chiaro ... come mai stai studiando/scrivendo questo tipo di programma ? A COSA ti serve ?
Devo mettere in comunicazione i pc di casa (sopra e sotto) collegati tramite LAN per poter fare copie senza salire 1000 volte le scale!

La pigrizia umana!

un po' mi da fastidio che mi credi un lameruccio

7) Non deallochi il buffer costruito nella Receive
ora correggo tutti gli errori.

Scusate, lo so che erano banalissimi errori ma ero fuso! :rollo: non so come non ho fatto a non acccorgemene!

Sono abituato con il c# e quindi con buffer e cose varie non ci entravo in conflitto da un po'...