Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine porta Logan in un'avventura inedita, violenta e fortemente narrativa, costruita attorno alla sua natura di combattente e al difficile rapporto con il proprio passato. Insomniac Games punta su combattimenti spettacolari, progressione e personalizzazione, inserendo l'azione in un mondo segnato dalla persecuzione dei mutanti. Un viaggio intenso, che alterna mattanza, esplorazione e momenti sorprendentemente emotivi.
DJI Romo 2: tante novità lo rendono un robot completo
DJI Romo 2: tante novità lo rendono un robot completo
Romo 2 è la seconda generazione di robot lavapavimenti di DJI, un modello che si caratterizza per la precisione nel sistema di navigazione e per il funzionamento particolarmente silenzioso. Con le modifiche introdotte in questa seconda versione, e un posizionamento di prezzo più allineato alla concorrenza, rappresenta una valida alternativa sul mercato delle soluzioni di pulizia domestica
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Il primo Sony con retroilluminazione True RGB alla prova del banco di misura e dei contenuti: luminanza enorme, colori accurati in HDR e un antiriflesso molto efficace. I limiti sono due sole HDMI 2.1 e il blooming fuori asse
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 23-01-2008, 17:58   #1
$te
Senior Member
 
L'Avatar di $te
 
Iscritto dal: Aug 2006
Messaggi: 1262
[C]leggere file in modo binario

ho due programmi client server, e voglio inviare un file (qualsiasi, non solo di testo) al server. credo che la via giusta sia di aprire e leggere il file in modo binario:
quindi lo apro:
FILE *F;

char invio_dati[100];

F=fopen("file.gif", "rb");

poi lo leggo:

while(fread (invio_dati, 1, 100, F)!=NULL)
{ ..}

pero credo che qui sbaglio, anche perché quando arriva alla fine del file non esce dal loop.

e nel server la stessa cosa,ma con:

fwrite(ricezione_dati,1,100, F);

Che errori faccio? grazie
$te è offline   Rispondi citando il messaggio o parte di esso
Old 23-01-2008, 20:01   #2
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
non è detto che il valore di ritorno di fread sia 0 quando viene incontrata la fine del file: potrebbe essere il numero di items letti inferiore al previsto. inoltre fread non distingue tra EOF ed errore di I/O, quindi meglio usare feof.
71104 è offline   Rispondi citando il messaggio o parte di esso
Old 23-01-2008, 21:05   #3
$te
Senior Member
 
L'Avatar di $te
 
Iscritto dal: Aug 2006
Messaggi: 1262
ora pero non riesco a fermare la ricezione!

perché faccio cosi:

client:

while (!feof(F))
{
fread (invio_dati, 1, 100, F);

//Invio il messaggio
send(client,invio_dati,100,0);
printf("\n %s",invio_dati);

}

fclose(F);

send(client,"chiuditi",100,0);

server:

while(1)
{
//Funzione recv per ricevere i dati
recv(server,ricezione_dati,100,0);

if( strcmp(ricezione_dati, "chiuditi")==0) break;

fwrite(ricezione_dati,1,100, F);

//Outputiamo i dati ricevuti
printf("\nHo ricevuto >>> %s \n",ricezione_dati);

//Il ciclo continua finchè non viene digitato "Chiuditi"
}
$te è offline   Rispondi citando il messaggio o parte di esso
Old 24-01-2008, 08:35   #4
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Questo è errato:

send(client,"chiuditi",100,0);

Dove li va a prendere i 100 byte da quella stringa ???
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 24-01-2008, 08:56   #5
$te
Senior Member
 
L'Avatar di $te
 
Iscritto dal: Aug 2006
Messaggi: 1262
quanti byte sono quindi? 1 per lettera?
$te è offline   Rispondi citando il messaggio o parte di esso
Old 24-01-2008, 09:05   #6
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Sì, +1 byte per il finestringa.
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 24-01-2008, 09:33   #7
$te
Senior Member
 
L'Avatar di $te
 
Iscritto dal: Aug 2006
Messaggi: 1262
ok, ora funziona,grazie!

ora vorrei provare ad avviare il server su un computer a casa, e il programma client da un amico: basta mettere l'ip corretto per far funzionare il tutto?
$te è offline   Rispondi citando il messaggio o parte di esso
Old 24-01-2008, 09:37   #8
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originariamente inviato da $te Guarda i messaggi
ora vorrei provare ad avviare il server su un computer a casa, e il programma client da un amico: basta mettere l'ip corretto per far funzionare il tutto?
Se chi fa il server ha la porta aperta sul router (se ce l'ha) e la porta è aperta sul firewall di Windows allora sì.
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 24-01-2008, 09:37   #9
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
Quote:
Originariamente inviato da $te Guarda i messaggi
ora vorrei provare ad avviare il server su un computer a casa, e il programma client da un amico: basta mettere l'ip corretto per far funzionare il tutto?
solo se l'amico non è dietro NAT/firewall

edit - mi correggo, solo se tu non sei dietro NAT/firewall. post contemporaneo a quello di cionci
71104 è offline   Rispondi citando il messaggio o parte di esso
Old 24-01-2008, 18:02   #10
$te
Senior Member
 
L'Avatar di $te
 
Iscritto dal: Aug 2006
Messaggi: 1262
un altra curiosità: dovrebbe essere possibile connettersi a dei server (ad es quelli da cui mi connetto con emule?)?
$te è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa Marvel's Wolverine, la recensione: Logan torna p...
DJI Romo 2: tante novità lo rendono un robot completo DJI Romo 2: tante novità lo rendono un ro...
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED Sony Bravia 9 II: il True RGB alla prova, dove l...
Geely EX5, un mese al volante: il SUV elettrico cinese che ci ha sorpreso (quasi) senza riserve Geely EX5, un mese al volante: il SUV elettrico ...
Mova Z70 Ultra Roller Complete: motore potente, rullo di lavaggio e l'IA a guidare Mova Z70 Ultra Roller Complete: motore potente, ...
La Serie A con DAZN e Amazon Prime con l...
Giochi Ubisoft su Steam senza Ubisoft Co...
Miami Beach ha autorizzato la maxi opera...
Apple regala un altro anno di funzioni s...
Alla fine è successo davvero: Vol...
Il meglio di Amazon del weekend in uno s...
Speciale TV in offerta su Amazon: Hisens...
Non c'è pace per Trezor: 347.000 e-mail ...
È un portatile Dell e li vale tut...
Apple iPhone 17 Pro Max 256GB a 1.195€ (...
GPT-6 Astra è davvero AGI o non s...
LG OLED G6S 48'' a 845€ e G6 55'' a 1368...
Mantax Otax: il malware Android che crip...
Musk incassa un altro maxi contratto IA:...
Le vendite di EV sono esplose in tutto i...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 18:39.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v