Si recv() renvoi la valeur -1 c'est que ton prog n'est pas connecté au serveur.
et comme buffer n'est pas initialisé et qu'il recoi rien c'est normale que c'a affiche n'importe quoi( car la plage memoir qu'il lui est attribué contient ce quel est depuis avant le lancement du prog).
int verif=999;
if(connect(sock, (SOCKADDR *)&sin, sizeof(sin)))
{
verif = recv(sock, buffer, sizeof(buffer), 0);
printf("Connecté ou pas:%d %s\n", verif, buffer);
}
printf("Connecté ou pas: %d", verif);