ora stavo provando a creare due funzioni, una nel client, l'altra nel serve per fare in modo che i due programmi si possano scambiare dei file... ma nn funzionano mi aiutate a capire xche?? grazie...

codice:
int invio_file(SOCKET sockinvio){

	char thisbuffer[1000];
	char nomefile[1000];
	char nomefileclient[1000];
	int nBytesP;

	strcpy(thisbuffer,"");
	strcat(thisbuffer,"nomefile:");

	printf(thisbuffer);//richiesta di inserimento nome file

	strcpy(thisbuffer,""); //cancelliamo buffer
	strcpy(nomefile,"");
	strcpy(nomefileclient,"");
	gets(nomefile); //prendiamo nome del file

	//riceviamo richiesta di invio nome destinazione
	nBytesP = recv(sockinvio, thisbuffer, BUFFERSIZE, 0);
	thisbuffer[nBytesP] = '\0';

	printf(thisbuffer); //richiesta del nome del file da dare al client
	gets(nomefileclient);
	SendTo(sockinvio,nomefileclient);

	//*** inizio invio file ***//

	char filebuffer[10];

	FILE *file = fopen(nomefile,"rb");
	 if (file==NULL) return 0;

	fseek (file , 0 , SEEK_END);
	long lSize = ftell (file);
	rewind (file);
	for(int x = 0; x < lSize ; x++) {
		fread( filebuffer, 1, 1, file);
		SendTo(sockinvio,filebuffer);
	}

	fclose(file);


#ifdef DEBUG_MODE
				system("pause");
#endif

	return 1;
}

codice:
void ricezione_file(SOCKET sockinvio){

	int nBytesP;
	char thisbuffer[1000];
	char nomefile[1000];

	strcpy(nomefile,"");

	strcpy(thisbuffer,"");
	strcat(thisbuffer,"url del file inviato:"); //invio richiesta nome file
	SendTo(sockinvio,thisbuffer);

	strcpy(thisbuffer,"");//cancellazione buffer

	nBytesP = recv(sockinvio, nomefile, BUFFERSIZE, 0); //ricezione nome file
	nomefile[nBytesP] = '\0';

#ifdef DEBUG_MODE
				printf("nome file: %s",nomefile);
#endif
	
	//*** inizio ricezione file ***//

	char filebuffer[10];

	FILE *file;
	file = fopen (nomefile,"wb");

    while(recv(sockinvio,filebuffer, 1, 0) != 0){ //scriviamo tutto il file...
		filebuffer[1] = '\0';
		fprintf(file,"%s",filebuffer);  
	}

	fclose (file);
        



#ifdef DEBUG_MODE
				system("pause");
#endif


}