Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it L'avatar di mamo139
    Registrato dal
    May 2005
    residenza
    Londra
    Messaggi
    841

    [c++] socket...

    vi allego due stupidissimi programmi che dovrebbero fare uno stupidissimo collegamento server/client in cui il client manda al server il messaggio "ciao!", ma sto ciao non arriva

    http://thesolution.altervista.org/server-client.zip

    ps: ho provato a connettermi al server con
    TELNET 127.0.0.1 1000
    e se gli mando qualche stringa la legge perfettamente...
    quindi credo che il problema sia nel client!!!!

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    E come lo scarico?

  3. #3

  4. #4
    Utente di HTML.it L'avatar di mamo139
    Registrato dal
    May 2005
    residenza
    Londra
    Messaggi
    841
    sembra che anche altervista rompa un po...
    al massimo basta connettersi ad http://thesolution.altervista.org e poi aggiungere il nome del file dalla barra degli indirizzi...

  5. #5
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Nel client

    int x = SendTo(sock, "ciao!\n");

    ... invia il ritorno a capo ...

  6. #6
    Utente di HTML.it L'avatar di mamo139
    Registrato dal
    May 2005
    residenza
    Londra
    Messaggi
    841
    xche così invece va???

  7. #7
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Originariamente inviato da mamo139
    xche così invece va???
    Non fai prima a provare che a chiedere?

  8. #8
    Utente di HTML.it L'avatar di mamo139
    Registrato dal
    May 2005
    residenza
    Londra
    Messaggi
    841
    no cmq tutto risolto... grazie mille

  9. #9
    Utente di HTML.it L'avatar di mamo139
    Registrato dal
    May 2005
    residenza
    Londra
    Messaggi
    841
    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
    
    
    }

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.